Javascript 为什么我的JSON没有从PHP正确返回?

Javascript 为什么我的JSON没有从PHP正确返回?,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我正在从JS文件向另一个文件中的PHP函数进行Ajax调用。虽然Ajax调用成功,因为它保存了记录,但我没有返回正确的数据进行处理。相反,我从页面中获取html。我需要能够检查状态,这样,如果成功,我就可以继续前进,或者如果有任何类型的错误没有保存记录,就通知用户。这是我的JS代码 $.ajax({ type: "POST", url: "utils.php?do=saveTick", data: {'dtData': J

我正在从JS文件向另一个文件中的PHP函数进行Ajax调用。虽然Ajax调用成功,因为它保存了记录,但我没有返回正确的数据进行处理。相反,我从页面中获取html。我需要能够检查状态,这样,如果成功,我就可以继续前进,或者如果有任何类型的错误没有保存记录,就通知用户。这是我的JS代码

 $.ajax({
            type: "POST",
            url: "utils.php?do=saveTick",
            data: {'dtData': JSON.stringify(sendData)},
            success: function (data) {
                alert(data.status);
                if (data.status != "SUCCESS") {
                    $("#updateDiv").dialog('destroy');
                    alert("Failed!");
                    $("#btnPrint").attr('disabled', false);
                    return false;
                } else {
                    me.confirmSave();
                }
            }
        }, 'json'
                );
在通过PHP进行处理之后,我试图在这里返回JSON,以便检查它。在我尝试/捕捉中,我有这个

try {
        $data = json_decode($_REQUEST['dtData']);
        $values = $data[0];
        $ordNbr = $values->ordnbr;
        $saveTick = Do something and save the ticket
        // if ($saveTick->status === "SUCCESS") {
        $this->getSalesData($values, $ordNbr);
        echo json_encode($saveTick);

    } catch (Exception $e) {
        $saveTick = array('status' => 'FAILED');
        echo json_encode($saveTick);
    }
这是从上面的my console.log返回到控制台的内容

 <html>
<head>
<title></title>

<style>

    TR.main_header {
        background-color:black; 
        color:white;
    }
    TR.main_footer {
        background-color:#396B42; 
        color:white;
    }
    div.error {
        color: red;
        font-weight: bold;
    }

</style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr class="main_header">
        <td align="left" width="25%"></td>
        <td align="right" width="25%">Tuesday May 31,2016</td>

    </tr>
</table>
                                                                           [{"shipdate":"2016-05-31","ordnbr":"BR549","custid":"CUST","deltcktno":"D333423","siteid":"Some Site","dttype":"REG","IsExport":true,"slsperid":"","slsname":"Some Sales","slsemail":"me@me.com"}]{"status":"SUCCESS","message":"Successfully called","data":null,"count":0}
</body>
</html>

TR.main_头{
背景色:黑色;
颜色:白色;
}
TR.main_页脚{
背景色:#396B42;
颜色:白色;
}
分区错误{
颜色:红色;
字体大小:粗体;
}
2016年5月31日星期二
[{“发货日期”:“2016-05-31”,“ordnbr”:“BR549”,“客户ID”:“客户”,“deltcktno”:“D333423”,“站点ID”:“某些站点”,“dttype”:“REG”,“IsExport”:true,“slsperid”:“slsname”:“某些销售”,“slsemail”:”me@me.com}]{“状态”:“成功”,“消息”:“成功调用”,“数据”:null,“计数”:0}

摆脱
php.ini
中的
auto\u prepend\u文件
auto\u append\u文件
设置。如果它们只定义变量和函数,那么它们是安全的,但是如果它们输出HTML,它们将干扰应该返回其他类型输出的脚本,例如JSON或XML


您必须重新编码所有其他脚本,以明确要求它们的页眉和页脚,而不是依赖此PHP设置。

摆脱
PHP.ini中的
auto\u prepend\u文件
auto\u append\u文件
设置。如果它们只定义变量和函数,那么它们是安全的,但是如果它们输出HTML,它们将干扰应该返回其他类型输出的脚本,例如JSON或XML


您必须重新编码所有其他脚本,以明确要求它们的页眉和页脚,而不是依赖此PHP设置。

因此,您的PHP文件包含一些header.PHP或一些统计数据。这是预期的。请确保在生成上述JSONWhat
console.log的文件中没有包含任何内容?实际上,我不是。。。所使用的PHP文件有点像utils文件。。没有从中生成HTML。因此,find shere
TR.main_header
已定义,以及如何将其包含到您的utils脚本中。因此,您的php文件包含一些header.php或一些统计数据。这是意料之中的。请确保在生成上述JSONWhat
console.log的文件中没有包含任何内容?实际上,我不是。。。所使用的PHP文件有点像utils文件。。没有从中生成HTML。因此find shere
TR.main_header
是定义的,以及它如何包含到您的utils脚本中。