Javascript Ajax给出错误500
我有一个应用程序,它通过Ajax每秒向PHP文件发出POST请求。如果我尝试在php中拆分$u POST数组中收到的字符串,或者尝试对其进行json_解码,则会出现500错误。 如果我不做任何这些动作,我不会得到任何错误。 为什么? 这是使用两个POST变量处理Ajax请求的PHP代码:Javascript Ajax给出错误500,javascript,php,ajax,Javascript,Php,Ajax,我有一个应用程序,它通过Ajax每秒向PHP文件发出POST请求。如果我尝试在php中拆分$u POST数组中收到的字符串,或者尝试对其进行json_解码,则会出现500错误。 如果我不做任何这些动作,我不会得到任何错误。 为什么? 这是使用两个POST变量处理Ajax请求的PHP代码: <?php $mysqli = new mysqli(*data*); if (is_string($_POST["lid"]) && (is_string($_P
<?php
$mysqli = new mysqli(*data*);
if (is_string($_POST["lid"]) && (is_string($_POST["price"]) || is_integer($_POST["price"])) && 0===1) {
$li_id = $_POST["lid"];
$esc_li_id = $mysqli->real_escape_string($li_id);
$li_price = intval($_POST["price"]);
if ( ($li = $mysqli->query("SELECT listing_id, price, buyer_id, auction_name FROM listings WHERE listing_id = '$esc_li_id' AND schedule_requested = '1' AND finished = '0'")) && ($mysqli->affected_rows > 0) ) {
if ( intval($li["price"]) !== $li_price ) {
$response = array($li["price"], $li["buyer_id"], $li["auction_name"]);
if ($logged === 1) {
$response[] = $user_id;
}
echo json_encode($response);
} else {
echo "err";
}
} else {
echo "err";
}
} else echo 'err'; ?>
如果要执行外部If中的代码,它将返回500错误。如果我将&&0==1放入外部If,则不会返回错误。您的PHP代码试图执行错误操作,因此中断调用并返回500个错误。检查您在帖子中收到的信息是否与您期望的一致,可能不是字符串,这就是为什么您的字符串操作不起作用的原因,因为您编写的代码已损坏,导致PHP在出现致命错误时停止,导致500内部服务器错误。检查开发人员控制台的“网络”选项卡中的输出,或服务器上的Apache日志。@NielsKeurentjes-在将答案作为注释发布时,如何在此处获得24k rep?@jimboJonny,作弊。@jimboJonny,因为我只发布实际解决问题的答案。当我只是因为我今天没有带我的水晶球而发现这个问题,但是这里有一些指针来解决它,我不认为这是我应该回答的问题。为什么不把代码包含在这里呢?喜欢猜谜游戏吗?这似乎不是问题:即使在变量的类型上插入控件,情况也不会改变。在没有看到代码的情况下调试它几乎是不可能的,只是告诉你为什么它会中断并试图将你指向最可能的原因。啊,你是对的。抱歉,我已将代码粘贴到问题的正文中。