0

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みんな助けて...

4

1 に答える 1