Ajax请求php失败?

时间:2016-11-20 13:53:43

标签: php jquery ajax

我正在尝试向我的php做一个ajax请求,但由于某些未知的原因它似乎失败了,因为我没有进入成功部分我有console.log

任何人都可以给我一些暗示,这可能是什么问题,我现在被困了太久了?

以下是我的jQuery的外观:

getPending();
function getPending(){
var usernameLS = localStorage.getItem('userNameLS');
var userTypeLS = localStorage.getItem('isAdminLS');

    if (userTypeLS!=1) {
        console.log("inside");//i am getting here
        $.ajax({
            type: "POST",
            dataType: 'json',
            url: 'get-pending.php',
            data: {
                data: usernameLS //this is a string, "user2" for instance
            },
            success: function(data) {
                console.log("Thanks!!!",data);//i never got here

            },
            failure: function() {
                console.log("Error!");
                alert(' Fail');
            }
        });
       }

这是我的php:

<?php
$string = file_get_contents("appointments.json");
$usernameAjax = $_POST['data'];
var_dump($usernameAjax);
$json_a = json_decode($string, true);
$isPending;
foreach ($json_a as &$json_r) {
    if ($usernameAjax==$json_r['userName'] && $json_r['status'] = "Pending") {

        $isPending = 1;
      }
      else{
        $isPending = 0;
      }
}
var_dump($isPending);
echo $isPending; //i tried with a hardcodede 1 or 0 zero. Didn't work.
?>

1 个答案:

答案 0 :(得分:1)

好像你的输出不是正确的JSON格式,所以客户端无法理解收到的内容。

首先 - 删除 var_dump ,它会打破json格式;

第二 - 你只输出 1 0 - 这也不是正确的json;使用 json_encode 正确格式化回复;

第三 - php文件通常包含?&gt; 之后的尾随符号,这些符号也会附加到输出并且可能会破坏输出格式。不要用?&gt; 关闭php;另外,您可以使用 die($ output)而不是 echo($ output)来避免在写入数据后输出任何内容