Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用jQuery Ajax验证Laravel表单_Php_Laravel_Laravel 5_Laravel Routing - Fatal编程技术网

Php 如何使用jQuery Ajax验证Laravel表单

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服务器获得结果。由于您的验证已经开始工作,您只需检查返回的响应是否有错误。如果有错误,您可以将其输出到屏幕,例如,通过循环返回响应中的所有错误 代码看起来与此类似:

我试图通过jQuery/Ajax验证Laravel表单。我有两个表单字段:“email”和“contact”。如果有人键入电子邮件并且它已经注册,那么它将显示已经注册的电子邮件id。和接触时一样。我用PHP做的。但是,它在视图中不起作用

register.blade.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
                }
            }
        }
    }
}