-1

解決策を探しているときにこのリンクを見つけました。バージョン 1.4.x でのバグ修正を示唆しています。それは本当に古いバージョンで、まだ修正されていませんか?

$.ajax が DELETE リクエストのデータ パラメータを無視する

以下のコードは、まったく同じリクエスト パラメータを取得する GET で完全に機能します。DELETE メソッドの呼び出し方法

    var data = {
            accessToken : accessToken
        }



        $.ajax({
            type : 'DELETE',
            url : "/user/" + userId,
            cache : false,
            data : data,
            success : function(profile) {
                $("#account-delete .response-container").html(JSON.stringify(profile, null, 2));
                $("#account-delete .request-container").html("/user/?" + $.param(data));
            }, 
            error : function(jqXHR, textStatus, errorThrown) {
                $("#account-delete .error-container").html(textStatus +" - " +  errorThrown);

            }

        });
4

3 に答える 3

0

jQueryのドキュメントによると、一部のブラウザはDELETEをサポートしていないため、おそらくDELETEを使用するべきではありません。

たぶん、この答えは代替案として役立つでしょう。

于 2012-10-05T14:27:22.577 に答える
0

この他の SO の質問をチェックしましたか?これはあなたの問題かもしれません:

IIS Web サーバーを使用していて、jquery PUT または DELETE 要求が 404 エラーを返す場合は、IIS でこれらの動詞を有効にする必要があります。これは良いリソースであることがわかりました:

http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx

于 2012-10-05T14:24:24.847 に答える
0

わかりました、このソウルションは機能します。

このフィルタを web.xml に追加します

<filter>
    <filter-name>hiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>hiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</filter>

データに _method: 'DELETE' を指定して POST でコントローラーを呼び出します。

  $.ajax({  
        url: "/application/form",
        type: 'POST',  
        data: { 
            _method: 'DELETE',
            param : "param"

        },  
        success: function (res) {  
            console.log("success");
        } , 
        error: function (res) {  
            alert(res);
        } 
    });
于 2012-10-06T11:55:21.807 に答える