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 回答