我正在尝试使用下面的代码解析本地JSON文件。基本上,成功函数永远不会因为parsererror被调用,但是当我重试解析responseText时,一切似乎都很好:
$.getJSON('./data/fixtures/teams.txt?callback=?', function(json) {
// never called because of parsererror
}.error(function(jqXHR, textStatus, errorThrown) {
console.log("incoming Text " + jqXHR.responseText);
var json = JSON.parse(jqXHR.responseText)); // this works!
$.each( json.teams, function( index, team ) {
console.log(team.title);
});
}
);
这是teams.txt的内容:
{"teams":[{"key":"irn","title":"Iran","code":"IRN"}]}
我将文本复制粘贴到http://jsonviewer.stack.hu,但它没有给我任何错误。我错过了什么?
答案 0 :(得分:1)
如果你想进行JSONP调用,你最好这样做(至少就像我这样做):
$.ajax({
url: './data/fixtures/teams.txt',
dataType: 'jsonp',
success: function (json) {
$.each( json.teams, function( index, team ) {
console.log(team.title);
});
}
});
如果它不是 JSONP调用,那么您应该从网址中移除callback
。