无法在Chrome和Opera中从PHP接收json数据

时间:2013-10-25 20:45:53

标签: javascript php jquery json

我在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

1 个答案:

答案 0 :(得分:2)

在PHP中,将以下内容添加到第一行(在开始标记之后)

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

它将响应指定为JSON