2017-05-09 18 views
0

を許可されていないIE 11 $アヤックスPUTメソッドを使用して、私は、APIコントローラを使用しています。この方法以下私の編集ページで

var settings = {}; 
settings.baseUri = '@Request.ApplicationPath'; 
var infoGetUrl = ""; 
if (settings.baseUri === "/ServerProjectName") { 
    infoGetUrl = settings.baseUri + "/api/controllerName/"; 
} else { 
    infoGetUrl = settings.baseUri + "api/controllerName/"; 
} 

$("#Edit-Btn").on("click", 
    function(e) { 
     $("form").validate({ 
      submitHandler: function() { 
       e.preventDefault(); 

       $.ajax({ 
        method: "PUT", 
        url: infoGetUrl, 
        data: $("form").serialize(), 
        success: function(data) { 
         toastr.options = { 
          onHidden: function() { 
           window.location.href = newUrl; 
          }, 
          timeOut: 3000 
         } 
         toastr.success("Successfully edited."); 
        }, 
        error: function (jqXHR, textStatus, errorThrown) { 
         var status = capitalizeFirstLetter(textStatus); 

         toastr.error(status + " - " + jqXHR.responseText); 
        } 
       }); 
      } 
     }); 
    }); 

は、「削除」のための別のAJAX機能であり、それが完璧に動作します:

は、ここに私の$アヤックスです。 PUTメソッドだけが私にこのエラーを与えています。

私が提出したとき、私は言ってエラーが表示されます。

を要求されたリソースは、HTTPメソッドをサポートしていません

を「PUT」私はかなり理解thisではなく、見てきました。私はIE 11を使用しているので、サポートする必要があります。

任意のアイデアやヘルプは大歓迎です。

enter image description here

答えて

1

あなたがこのメッセージを取得している理由は、あなたが使用しようとしているAPIは、HTTP PUTメソッドをサポートしていないということです。あなたがウェブAPI 2.0を使用していた場合

通常、あなたはそれがPUTをサポートしている場合[HttpPut]を持つWebメソッドの属性を持っていると思います。 PutをサポートするようにAPIにフラグを立てる他の方法もありますが、一般的には使用されていません。

あなたのAPIが問題であることを確認する最も簡単な方法は、Postmanを使用してAPIを使用しようとすることです。これにより、JavaScriptに問題が発生することはありません。

+0

私は今ポストマンでテストしていて、それが働いています。私はその後、ポストマンを経由してプロパティを編集し、私のページを更新し、プロパティは、私はあなたが郵便配達中に入れて選択していることを確認しています –

+0

にそれを編集した値であるのですか?郵便配達員のスクリーンショットで質問を更新できますか? – Avitus

+0

更新質問 –

関連する問題