この件に関するあらゆる種類のスレッドを読みましたが、これを機能させることができません。
私は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 を返しています。
また、正しい軌道に乗っていることを確認してください。
前もって感謝します