我的JS是:
$(InitFavorite);
function InitFavorite(){
var jList = $(".favourite_link");
var ids_to_check = {};//new Array();
$.each(jList, function () {
var id = this.id;
var object = id.split("_");
if (!ids_to_check[object[1]]) {
ids_to_check[object[1]] = [];
}
ids_to_check[object[1]].push(object[0]);
});
//console.log(ids_to_check);
$.ajax({
type: 'POST',
url: '/user/subscription/favourite-listing',
data: ids_to_check,
dataType: 'json',
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
error: function() {
alert(1);
},
success: function() {
alert(2);
/*$each(returned_values, function() {
alert('boom');
});*/
}
});
}
从ajax调用中,返回以下数据:
{"env":"development","loggedIn":true,"translate":{}}{"Playlist":{"10":"Stop Recieving Updates For This Playlist"},"Clip":{"26":"Recieve Updates For This Clip","27":"Recieve Updates For This Clip","28":"Recieve Updates For This Clip","29":"Stop Recieving Updates For This Clip","30":"Recieve Updates For This Clip"}}
然而,成功永远不会被触发,只是错误,尽管没有标题和json作为标题被放出(通过zend框架)。
想法?
答案 0 :(得分:4)
引用的JSON无效,只能有一个顶级对象,然后必须包含其他所有对象(作为属性)。有关the JSON site的详细信息。
{"env":"development","loggedIn":true,"translate":{}}{"Playlist"...
^-- here's the error
查看errorThrown
parameter到错误函数总是一个好主意。在这种情况下,它会标记来自JSON解析器的错误(Chrome中的“Unexpected token:{”,IE中的“Expected”;“”,FF中的“SyntaxError:JSON.parse”等)。