1
私はwikipedia api
を使用しているページがあります。しかし、私はJSON
をクロスドメインの制限に使用できないので、JSONP
を使用します。私のコードは、このJSONPがページ上で動作しない
<body>
<script type="text/javascript">
function res(data){
alert(data);
};
</script>
<script type="text/javascript" src="http://en.wikipedia.org/w/api.php?action=opensearch&search=api&callback=res&limit=10&namespace=0&format=jsonfm">
</script>
</body>
ここで私は、URLにres
という名前のコールバック関数を提供していますように見えます。私は放火犯で見たように応答が
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MediaWiki API Result</title>
</head>
<body>
<br />
<small>
You are looking at the HTML representation of the JSON format.<br />
HTML is good for debugging, but probably is not suitable for your application.<br />
See <a href='http://www.mediawiki.org/wiki/API'>complete documentation</a>, or
<a href='/w/api.php'>API help</a> for more information.
</small>
<pre>
res([
"api",
[
"API",
"Apiales",
"Apiaceae",
"Apia",
"Apicomplexa",
"Apicomplexa lifecycle stages",
"Apidae",
"APIA Leichhardt Tigers",
"Apical membrane",
"Apical consonant"
]
])
</pre>
</body>
</html>
これは、サーバーがコールバック関数res
で囲まれた応答を送信していることを意味して来ましたが、この機能は、ブラウザ(alert
が呼び出されていない)によって実行されていない.I Firefoxを使用しています5.これは何が間違っていますか?
を試してみてください。私は、 'format'パラメータをURLにjsonとして渡しています。 – lovesh
あなたはjsonfmを渡しています。私が投稿したものを試してみてください。それは動作するはずです。 –
が働いた。私はそれがjson形式を意味すると思ったので、彼らは 'jsonfm'として指定されたウィキペディアのapiのドキュメント上でうまくいきます。なぜ彼らはそれをjsonfmと言うことができます。ここでは[リンク](www.mediawiki.org/wiki/API:Data_formats) – lovesh