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 を 2 つの括弧 "[]" で囲むように変更すると、コンソールではエラーが発生しませんが、エラー関数は "jqueryNNNNN... が呼び出されませんでした" というエラーを返します。

提供されている data: {} および callback: "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));
    }
});
}

もう 1 つの注意点として、xhr.responseText は常に null を返しています。

また、正しい軌道に乗っていることを確認してください。

前もって感謝します

4

0 に答える 0