1

Chrome と Opera の JSON で数日間問題が発生しました。いくつかのエラーを修正できましたが、今は行き詰まり、解決策が見つかりません。PHP でいくつかの配列を作成し、JSON でエンコードして、さらに処理する JavaScript ファイルに送信します。Firefox ではすべて問題ありませんが、Chrome と Opera では$.post()関数が呼び出されることはありません。JavaScriptがJSONデータを受け取る必要がある場合、動作を停止すると思います。あなたの助けがとても必要です。

これは私のJavaScript関数です:

var updateGroup = function(id){

    $("#unshareTable").html("");
    passID = id;
    $.post("getData.php", {'id' : id}, function(obj){
        globalColor = obj.color;
        $("#updateGroupTitle").val(obj.title);
        $("#updateColorpickerHolder").css("background-color", obj.color);
        $("#updateColorHex").html(obj.color);
        var color2 = lighterColor(obj.color, .4); 
        $("#updateColorHex2").html(color2);
        $("#updateGroupDescription").html(obj.description);
        $("#unshareTable").append("<tr id='firstRowUnshare'><td>Username</td><td>Option</td></tr>");
        $.post("getUnshareData.php", {'title' : obj.title}, function(obj1){
            var length = obj1.length;

            for(var i = 0; i < length; i++){
                $("#unshareTable").append("<tr><td class='unshareUsername'>"+obj1[i].username+"</td><td><label class='unshareOneButton'>Unshare</label></td></tr>");
            }
        }, "json");
    }, "json");
    $(".updateGroupDiv").fadeIn(300);
}

および単純な PHP スクリプト

<?php 
    $id = clean($_POST['id']);

    $query = $mysqli->query("select * from groups where id_group = '$id'");
    $data = $query->fetch_assoc();
    echo json_encode($data);

?>

また、Chromeでは次のエラーが発生します。

Uncaught TypeError: Cannot call method 'getURL' of undefined

Uncaught TypeError: Cannot read property 'onRequest' of undefined
4

1 に答える 1

2

PHP で、最初の行 (開始タグの後) に次を追加します。

header("Content-Type: text/javascript; charset=utf-8");

応答を JSON として指定します

于 2013-10-25T21:02:27.700 に答える