2017-05-09 56 views
0

在我的編輯頁面上,我使用了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方法「把」

我已經看過this但並不完全理解。我使用IE 11,所以我認爲應該支持。

任何想法或幫助,非常感謝。

enter image description here

回答

1

你得到這個消息的原因是,你試圖使用不支持HTTP PUT方法的API。

通常情況下,如果您使用的是web api 2.0,那麼如果它支持PUT,那麼您將在Web方法上具有[HttpPut]的屬性。還有其他方法可以標記API以支持Put,但通常不會使用。

確認您的API是最常見的方法是使用Postman嘗試使用API​​,並且可以消除您使用JavaScript時可能遇到的任何問題。

+0

我現在正在郵遞員測試,它正在工作。我正在通過郵遞員編輯一個房產,然後刷新我的頁面,並且該房產是我編輯它的值 –

+0

您確定要選擇投入郵遞員嗎?你能用郵遞員的截圖更新問題嗎? – Avitus

+0

更新的問題 –

相關問題