現在、アプリケーションはContent-Type:を返していますapplication/json
。
これを修正するjsonp
には、サーバーにContent-Typeを返すように指示するコールバック関数名をオーバーライドします。application/javascript
代わりに次のようにします。
$(document).ready(function () {
$.ajax({
url: 'http://api.stackoverflow.com/1.1/tags/php/top-answerers/month',
dataType: 'jsonp',
jsonp: 'jsonp',
success: function (data) {
alert(data.top_users.length + ' users retrieved.');
}
});
});
jsonp ajax設定に関する情報:
jsonpString
jsonpリクエストのコールバック関数名をオーバーライドします。この値は、「callback =?」の「callback」の代わりに使用されます。URLのクエリ文字列の一部。したがって、{jsonp:'onJSONPLoad'}は'onJSONPLoad =?'になります。サーバーに渡されます。jQuery 1.5以降、jsonpオプションをfalseに設定すると、jQueryが「?callback」文字列をURLに追加したり、「=?」を使用したりするのを防ぐことができます。変革のために。この場合、jsonpCallback設定も明示的に設定する必要があります。たとえば、{jsonp:false、jsonpCallback:"callbackName"}