2014-04-02 93 views
-1

所以这听起来像一个很小的问题,但我只是从ajax开始,需要一些帮助。使用PHP处理Ajax表单验证

当Ajax post向PHP脚本发送值进行验证并且验证失败时,由于说了无效的密码,那么该PHP脚本是否必须将该错误消息的值与其他ajax post一起回发?


好吧我认为我措辞不正确的这个问题,所以我只是更新它,使其更容易理解。

我有一个wordpress插件,它会创建一个联系表单,然后在将ajax发布到单独的PHP脚本进行验证之前,通过javascript验证所有数据。我似乎无法理解的是,如果数据在PHP脚本中未通过验证,那么我怎么会通过错误消息回复主页?

+0

Ajax只是一个回应的回应请求。响应可以是确定的,或错误消息。或者作为html/text或者json对象。取决于你的实现。 – Rufinus

+0

如果你使用的是jQuery ajax,你可以在你的帖子后得到结果,现在不管你的php有没有关系,它都没关系,因为ajax会返回它。 – CaffeineShots

+0

问题的最后部分没有任何意义。如果PHP代码中的AJAX帖子无效,那么PHP代码可能会简单地回应并显示错误。客户端代码将接收来自请求的响应并相应地处理它。 – David

回答

0

你必须做出某种HTTP响应。

如果响应不会告诉客户请求中的错误是什么,那么这个响应不会很有用。

就PHP而言,没有关于响应的Ajaxy,它只是一个标准的HTTP响应。

0

肯定PHP应该返回一个JSON响应给客户端。

您可以将消息在响应

<?php echo json_encode(array("valid" => false, "message" => "Invalid User")); ?> 

或只是地方状态代码,并有客户端处理错误消息。

<?php echo json_encode(array("valid" => false)); ?> 

<script> 

    // I'm using jQuery here 

    ... 

    function(result) { 

     var response = $.parseJSON(result); 

     if(!response.valid){alert('Invalid User')} 

    } 

</script>