用jquery的驗證外掛程式validation plugin,進行remote驗證的時候,文檔中說服務端需要返回json字串,true代表有效, "false", undefined, null 代表無效。
需要驗證的是使用者名稱是否已經被註冊,如果已經被註冊,返回false,如果沒有被註冊,返回true。php服務端(laravel架構)是這樣寫的:
public function verifyName(Request $request) { $username = $request->input('name', ''); $user = User::where('name', $username)->first(); if ($username == $user->name) { return json_encode(false); }else{ return json_encode(true); } }
前端js代碼是這樣的:
問題:
當返回false的時候,可以正常返回,想返回true返回不了,出現Trying to get property of non-object,不知什麼原因。
回複內容:
用jquery的驗證外掛程式validation plugin,進行remote驗證的時候,文檔中說服務端需要返回json字串,true代表有效, "false", undefined, null 代表無效。
需要驗證的是使用者名稱是否已經被註冊,如果已經被註冊,返回false,如果沒有被註冊,返回true。php服務端(laravel架構)是這樣寫的:
public function verifyName(Request $request) { $username = $request->input('name', ''); $user = User::where('name', $username)->first(); if ($username == $user->name) { return json_encode(false); }else{ return json_encode(true); } }
前端js代碼是這樣的:
問題:
當返回false的時候,可以正常返回,想返回true返回不了,出現Trying to get property of non-object,不知什麼原因。
你前端代碼是不是忘了post資料到後台?
data:{
name:function(){ return $("input[name='name']").val();}
}