他の人が言っているのと同じ原産地規則が問題です。
しかし、ここでは、彼らは言わなかったものだ - それを修正する方法:
$.ajax({
url: "someurl.com",
dataType: "jsonp",
data: {'some key':'somevalue', 'someotherkey':'val'},
success: function(response) { alert(response); },
error: function(jqXHR, textStatus, errorThrown) {
//do some error handling
alert(jqXHR);
alert(textStatus);
alert(errorThrown);
}
});
をここに私は$.ajax
メソッドを使用しています - 基本的に$.getJSON
はdataType:'json'
と、このためのラッパーです。
注:これは完全にランダムになる「コールバック」と呼ばれるパラメータを渡すようにリクエストを変更します。すなわち
が
あなたの要求は:
someurl.com/?something=something&callback=123456
が返す必要があります。これは、サーバーによって処理され、関数名として渡される必要がある
123456({ "key":"value"});
そして、それはは、あなたが取得できるようにする必要があります返されたデータは正常です。
参考: JSONPとで使用できるさまざまなオプション$アヤックスはここにかなり良いです上のビット:http://en.wikipedia.org/wiki/JSONP#Padding
編集: http://api.jquery.com/jQuery.ajax/
ウィキペディアはここで大丈夫の記事があります。このようなリクエストを行い、エラー関数を使用すると、コンソールやアラートボックスにエラーがスローされるので、返されたJSONが有効かどうかを確認することができます。マークアップを編集して失敗時にアラートボックスをスローします。
[同じ起源のポリシー](https://en.wikipedia.org/wiki/Same_origin_policy)が適用されます。外部ドメインからJSONを取得することはできません。それはJSONPでなければなりません。 –