0

すべてのホスティング環境で正しく機能していない機能があります。返されるデータはJSON形式です。問題はeval()にあると思います。eval()の代わりに使用できますか?これをデバッグするのを手伝うか、別のアプローチを提案してください。

3日間、このエラーで頭を悩ませています(これは、一部のホスティングでのみ表示されますが、他のホスティングでは正常に機能します)

データinLoad.phpは次のとおりです

while($row=mysqli_fetch_array($sql)){
        $text=$row['mesg'];
        $fro=$row['fro'];
        $tocomr=$row['tocom'];
        $last_msg_id_db=$row_m['maxid'];


        $response=array();

        //$response['msg']=$table;
        $response['msg']=$text;
        $response['last_msg_id_db']=$last_msg_id_db;
        $final_response[]=$response;

    }
          echo json_encode($final_response);

ANDデータは次のように返されます

    [{"msg":"hi<br>","last_msg_id_db":"173"}]
    main.php:96

    main.php:96
   [{"msg":"heloo<br>","last_msg_id_db":"174"}]

jquery関数は次のとおりです。

function chat_com_one(id, name) {
$('#chatcom').show('fast');
(function chatcom_load_one(id, name) {

    $.ajax({
        type:"Post",
        url:"load.php",
        data:{
            tocom:id,
            last_msg_id:last_msg_id
        },


        success:function(data) {

            var json = eval(data);
            $.each(json, function(i, row) {
                $("#commidwin").append(row['msg']);
                last_msg_id = row['last_msg_id_db'];
            });
            setTimeout(chatcom_load_one(id, name), 500);
        },
        error:function(XMLhttprequest, textstatus, errorthrown) {
            alert("error:" + textstatus + "(" + errorthrown + ")");
        }




    });
}(id, name));
}

以下のエラーはChromeのログに表示されます

Uncaught SyntaxError: Unexpected identifier main.php:95
 $.ajax.success main.php:95
fire jquery.min.js:974
self.fireWith jquery.min.js:1082
done jquery.min.js:7788
callback
4

1 に答える 1

0

evalは使用しないでください。dataTypeasを設定するだけjsonで、jQueryがJSONをデコードします。

$.ajax({
    type:"POST",
    url:"load.php",
    dataType:"json",
    data:{
        tocom:id,
        last_msg_id:last_msg_id
    },
    success:function(data) {
        var json = data;
        $.each(json, function(i, row) {
            $("#commidwin").append(row['msg']);
            last_msg_id = row['last_msg_id_db'];
        });
        setTimeout(chatcom_load_one(id, name), 500);
    },
    error:function(XMLhttprequest, textstatus, errorthrown) {
        alert("error:" + textstatus + "(" + errorthrown + ")");
    }
});
于 2012-12-03T11:53:37.370 に答える