Javascript 为什么我的JSON没有从PHP正确返回?
我正在从JS文件向另一个文件中的PHP函数进行Ajax调用。虽然Ajax调用成功,因为它保存了记录,但我没有返回正确的数据进行处理。相反,我从页面中获取html。我需要能够检查状态,这样,如果成功,我就可以继续前进,或者如果有任何类型的错误没有保存记录,就通知用户。这是我的JS代码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
$.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或一些统计数据。这是预期的。请确保在生成上述JSONWhatconsole.log的文件中没有包含任何内容?实际上,我不是。。。所使用的PHP文件有点像utils文件。。没有从中生成HTML。因此,find shereTR.main_header
已定义,以及如何将其包含到您的utils脚本中。因此,您的php文件包含一些header.php或一些统计数据。这是意料之中的。请确保在生成上述JSONWhatconsole.log的文件中没有包含任何内容?实际上,我不是。。。所使用的PHP文件有点像utils文件。。没有从中生成HTML。因此find shereTR.main_header
是定义的,以及它如何包含到您的utils脚本中。