我已经阅读了关于这个主题的各种主题,但我无法让它发挥作用。
我正在使用 Jquery 1.8.3 - 有些线程忽略了提及哪个版本:-)
这是 JSON 的示例:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
在 Firebug 的响应选项卡下,我可以看到 JSON - 非常好,对吧?不
在控制台选项卡下,我看到错误“无效标签”
如果我将 JSON 更改为包含在两个括号“[]”之间,这在控制台下没有错误,但我的错误函数返回“jqueryNNNNN ...未调用”错误。
我已经尝试过提供的数据:{} 和回调:“mHandler”解决方案,但没有任何效果。我从一个错误转到另一个错误。
话虽如此,我不相信我的代码有问题,因为我尝试了一个简单的 getJSON 示例,该示例允许我检索这些闪烁图像:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
{
tags: "dogs",
tagmode: "any",
format: "json"
},
function(data) {
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
这工作得很好,在 firebug 的响应选项卡下,我注意到一个带有长数字的 jquery 函数:
jQuery11010762139772876748_1371762511442({
"title": "Recent Uploads tagged dogs",
"link": "http://www.flickr.com/photos/tags/dogs/",
"description": "",
"modified": "2013-06-20T20:44:00Z",
"generator": "http://www.flickr.com/",
"items": [
这让我相信我调用的服务器可能配置不正确。
这如何在 IIS 或 .NET 服务器上完成?
这是javascript的当前状态:
var mFATimeO = function(){
$.ajaxSetup({
type: "POST",
cache: false,
crossDomain: true,
async: false,
contentType: "application/jsonp; charset=UTF-8",
data: "[{'glossary':{'GlossEntry':{}}}]",
dataType: "jsonp json text",
beforeSend: function(xhr) {
xhr.overrideMimeType("application/jsonp; charset=UTF-8");
},
headers: {
"Authorization": mBaseSixtyFourVar
},
url: mFAXferObj.mUrl
});
$.ajax({
success: function(data){
$("#mResponse").html($.parseJSON(data));
},
error: function (xhr, textStatus, errorThrown) {
$("#mResponse").html("xhr.readyState: "+xhr.readyState+", textStatus: "+textStatus+", errorThrown: "+errorThrown+", xhr.responseText: "+$.parseJSON(xhr.responseText));
}
});
}
另一个注意事项,xhr.responseText 总是返回 null - 当我在 firebug 的响应选项卡下看到数据时,这怎么可能?
另外,请确认我在正确的轨道上。
提前致谢