まず、jsonp の仕組みを知っています。callback ({a:1})
これらの種類のリクエストをサポートするサーバーからjs コードを挿入します。
facebook に接続するこのコードがあり、無効な json 結果を返します。
datatype:jsonp で jquery ajax を使用してjsonp の原因をサポートします - DOES 戻り値 (無効なもの)
jsonp 呼び出しからの応答は次のとおりです。
for(;;); //<----------- the problem
{
"__ar": 1,
"error": 1357001,
"errorSummary": "Not Logged In",
"errorDescription": "Please log in to continue.",
"payload": {
"__dialog": {
"title": {
"__html": "Not Logged In"
},
"body": {
"__html": "Please log in to continue."
},
"buttons": [
{
"name": "login",
"label": "Log In",
"handler": "goURI(\"\/login.php\", true);"
}],
"modal": true,
"onloadRegister": ["setInterval(function () {\n if (getCookie(\"c_user\") || getCookie(\"csm\")) {\n window.location.reload();\n }}, 5000);"]
}
},
"js": ["8fTQS"],
"resource_map": {
"8fTQS": {
"type": "js",
"src": "https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/y9\/r\/NXhpMFxH7x0.js"
}
}
}
もちろん、これは無効なjsonです。
火炎虫 :
このテキストを jsonlint に貼り付け、最初の行を削除すると、有効な json になります。
結果から行を削除できればfor(;;);
、結果を解析できたはずです。
for(;;);
テキスト応答をキャッチして、空の文字列に置き換えたいです。
ドキュメントをjqueryしたいのですが、次の情報に気付きました:
私は書き込もうとしましjsonp text
たが、それでもエラーです。
for(;;);
エラーを表示せずに結果を取得し、空の文字列に置き換えるにはどうすればよいですか?