Php 如何使用jQuery Ajax验证Laravel表单
我试图通过jQuery/Ajax验证Laravel表单。我有两个表单字段:“email”和“contact”。如果有人键入电子邮件并且它已经注册,那么它将显示已经注册的电子邮件id。和接触时一样。我用PHP做的。但是,它在视图中不起作用 register.blade.php 寄存器控制器Php 如何使用jQuery Ajax验证Laravel表单,php,laravel,laravel-5,laravel-routing,Php,Laravel,Laravel 5,Laravel Routing,我试图通过jQuery/Ajax验证Laravel表单。我有两个表单字段:“email”和“contact”。如果有人键入电子邮件并且它已经注册,那么它将显示已经注册的电子邮件id。和接触时一样。我用PHP做的。但是,它在视图中不起作用 register.blade.php 寄存器控制器 实际上,您可以使用ajax发布表单,并从php服务器获得结果。由于您的验证已经开始工作,您只需检查返回的响应是否有错误。如果有错误,您可以将其输出到屏幕,例如,通过循环返回响应中的所有错误 代码看起来与此类似:
实际上,您可以使用ajax发布表单,并从php服务器获得结果。由于您的验证已经开始工作,您只需检查返回的响应是否有错误。如果有错误,您可以将其输出到屏幕,例如,通过循环返回响应中的所有错误 代码看起来与此类似:
$.ajax(method: "POST",
url: "/your/endpoint",
data: { email: "theemail", contact: "thecontact" }
})
.done(function(res) { console.log('Success ' + res); })
.fail(function(jqXHR, textStatus) { console.log('Validation failed ' + textStatus); });
您没有为varifyemail请求提供任何值和错误的操作密钥名称
注意,在这种情况下,最好使用POST而不是GET
文档中的一个示例:
同时覆盖您的联系代码您能描述一下什么不起作用吗?jQuery插件是否发送了验证请求?感谢您的回复。我用POST代替GET。但RouteCollection.php第251行中的错误获取了1/1 MethodNotAllowedHttpException,即使我将routeRoute::post->for post请求中的ROUTE::GET->for GET请求MethodNotAllowedHttpException替换为RouteCollection.php中的ROUTE::GET->for GET请求MethodNotAllowedHttpException,也会发生,因为您发送了错误的请求。
Route::get('varifyemail','Auth\RegisterController@varifyemail');
Route::get('varifycontact','Auth\RegisterController@varifycontact');
public function varifyemail(Request $request)
{
$email1 = User::where('email', $request->email)->get();
if($email1->email > 0)
{
echo json_encode(false);
} else {
echo json_encode(true);
}
}
public function varifycontact(Request $request)
{
$contact1 = User::where('contact', $request->contact)->get();
if($contact1->contact > 0)
{
echo json_encode(false);
} else {
echo json_encode(true);
}
}
$.ajax(method: "POST",
url: "/your/endpoint",
data: { email: "theemail", contact: "thecontact" }
})
.done(function(res) { console.log('Success ' + res); })
.fail(function(jqXHR, textStatus) { console.log('Validation failed ' + textStatus); });
rules: {
email: {
remote: {
url: "{{url("varifyemail")}}",
type: "get",
data: {
/*email was the action and it will be sent as request key name*/
email: function() {
return $( "#email" ).val(); //your email field
}
}
}
}
}