GET 以外の jsonp http メソッド (POST、PUT、OPTIONS、DELETE)
jquery 組み込みの $.ajax メソッドを使用すると、次のようになります。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://myurl.com/webservice&callback=?",
...
});
type: "GET",
$.ajax を使用して http PUT を実行すると、単純に変更される行に注意を向けたいだけです。type: "PUT",
このコード例は、jquery ajax を使用したクロス ドメインからの JSON 解析からのものです。
$.ajax を使用しない
google-code の jquery.jsonp を使用するhttps://github.com/jaubourg/jquery-jsonp
GET メソッドで jquery.jsonp.js を使用する例を次に示します。
$.jsonp({
cache: false,
url: 'http://www.mydomain.com/logicalurl/2/',
callbackParameter: 'callback',
timeout: 10000,
success: function(json, textStatus, xOptions) {
myglob = json;
MyModulePatternObject.initNew(json);
},
error: function (xOptions, textStatus) {
console.log("fail");
}
});
これは完全に機能します。GET jsonp リクエストを行う方法は私の質問ではありません。
$.jsonp で、他の http メソッドを実行したい: PUT POST DELETE OPTIONS ... ? $.jsonp は をサポートしていtype="PUT",
ますか?
ドキュメントにはまったく言及されていません: API.md および TipsAndTricks.md ソースコードにもありません。
アップデート
@ohgodwhy ドメインを越えて POST 2 を機能させるためのハック (iframes / Proxy) があります。 JSONP および jQuery での PUT/POST/DELETE の使用
@thefrontenderリンクされた記事は、「クロスオリジンリソース共有(CORS)」を調べることを提案しています
ブラウザーによる CORS サポートhttp://caniuse.com/cors
同じ記事には、「JSON を URL パラメーターとしてエンコードすることもできますが、それを考えるのは恥ずべきことです」とも書かれています。歴史の中で、恥は誰も止めなかったのですか?シンプルで怠惰で、限られたケースでは仕事を終わらせます。
Thx 4みんな助けて...