呼叫:
 $.ajax({
        type: "POST",
        url: 'http://blahblah/cow.php',
        contentType: "application/json",
        data: {
            'guid': '111',
            'score': 592,
            'initials': 'tod'
        },
        success: function (data) {
            try {
                //alert(data + " -- " + data.length);
                if (data.length > 0) {在我的php页面中这样做:
echo ('[{error : "' . $error . '", rank : "' . $usersRank . '", totalScores : "' . $totalScores . '"}]');但JQ只是一直将其视为文本,而不会将其识别为JSON……我做错了什么?
我试着去掉方括号(什么都不用),使用json_encode --但是在我的变量中添加引号仍然不起作用,尝试在php页面中添加标题(COntent类型)……啊!我想不出来!
我是不是必须把它叫做DIE或者类似的东西(有点像Response.end)?
发布于 2012-01-08 11:28:46
data包含传输对象的responseText的值。要让success回调将其视为JSON,您需要将php页面上的content-type头显式设置为application/json,或者将ajax配置对象的type属性设置为json。
或者,您也可以使用$.ajax({dataType:"json"})的简写$.getJSON。
https://stackoverflow.com/questions/8775136
复制相似问题