0

AJAXを介して、「PUT」および「DELETE」リクエストをサポートするはずです。「PUT」リクエストを介してデータを送信するフォームがあり、サーバーはそれを確認しますが、パラメーターは送信されません。「削除」リクエストでも同じ結果が発生します。「投稿」に変更すると、正常に動作します。IE 9、Firefox、および Chromeはすべて同じ結果を生成します。put および delete リクエストが送信されていますが、データがありません。

$("#startButton").click(function(){
                $.ajax({url:"http://localhost:8084/Project/servlet",
                    data:parseFormData("simulatorForm"),
                    cache: "false",
                    dataType: "text",
                    contentType: "application/x-www-form-urlencoded",                
                    type:"put",
                    error:function(xhr){alert(xhr.status + xhr.statusText);} });
            });

注:「投稿」に変更すると、これは正常に機能します。私のフォームのすべてのパラメータが送信されます。IE、Chrome、および Mozilla Firefox でこれを試しました。

純粋なJavaScriptで試してみましたが、まったく同じ結果が得られます。

var xmlhttp=new XMLHttpRequest();
           xmlhttp.open("PUT","http://localhost:8084/UtilityDashboard/SensorSimulator",true);
           xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
           xmlhttp.send(parseFormData("simulatorForm"));
4

1 に答える 1

1

どのWebサーバーを使用していますか? PUT/DELETE リクエストに関する特記事項:

デフォルトでは、IIS 6 は PUT 動詞と DELETE 動詞をサポートしていません。これを有効にするには、アプリケーションの仮想ディレクトリにワイルドカード マッピングを追加する必要があります。これは、IIS マネージャーのサイトまたは仮想ディレクトリ プロパティでワイルドカード アプリケーション マップの横にある挿入ボタンをクリックし、aspnet_isapi へのパスを入力するだけで簡単に実行できます。 dll.

于 2012-09-28T16:03:02.217 に答える