ajax post提交后获取服务器响应

时间:2015-04-11 00:14:38

标签: javascript php jquery html ajax

如何将我的服务器端验证传递给我的ajax post方法?,我试图从服务器获取服务器http响应,并根据客户端上抛出的成功/错误消息,当前的PHP代码是:

$error = 0;

    if($_SERVER["REQUEST_METHOD"] == "POST") {
      if ($condition) {
        //error code
        $error = 0;
      } elseif ($othercondition) {
        //success code
        $error = 1;
      } else {
        //error code
        $error = 0;
      }
    }

和我的ajax帖子看起来像

        $.ajax({
            type: 'POST',
            url: $(form).attr('action'),
            data: formData,
            async: false,
            cache: false,
            contentType: false,
            processData: false,         
        })
        .done(function(response) {
            console.log("success " + response);
            //if (condition) {
              //# code...
            //} else {
              //# code...
            //}
        })
        .fail(function(response) {
            console.log("error " + response);
        })
        .always(function() {
            console.log("complete");
        });

1 个答案:

答案 0 :(得分:1)

服务器需要执行:

echo $error;

无论PHP脚本输出将在Javascript中的response中。

如果您需要更多详细信息,可以使用JSON,例如

echo json_encode(array('error' => $error, 'message' => $message_string));

然后在$.ajax选项中指定

dataType: 'json',

response将成为Javascript对象; response.error将是错误值,response.message将是字符串。