Ajax给出错误500

时间:2016-01-21 22:07:47

标签: javascript php ajax

我有一个应用程序,通过Ajax每秒向PHP文件发出POST请求。如果我尝试拆分我在php中的$ _POST数组中收到的字符串,或者我尝试“json_decode”它,我得到500错误。 如果我不进行任何这些操作,我不会收到任何错误。 为什么呢?

这是处理Ajax请求的PHP代码(使用两个POST变量):

    <?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”,则不会返回错误。

1 个答案:

答案 0 :(得分:1)

您的PHP代码正在尝试错误地执行操作,从而中断调用并返回500错误。检查您在POST中收到的信息是否是您所期望的,也许它不是字符串,这就是您的字符串操作操作不起作用的原因