0

我已经阅读了关于这个主题的各种主题,但我无法让它发挥作用。

我正在使用 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 的响应选项卡下看到数据时,这怎么可能?

另外,请确认我在正确的轨道上。

提前致谢

4

0 回答 0