2017-05-09 2 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 메소드 'PUT'을 지원하지 않습니다

내가 확실히 이해를 this 보았지만되지 않은 : 나는 제출하면

, 내가 말하는 오류가 발생합니다. IE 11을 사용하고 있으므로 지원해야한다고 생각합니다.

모든 아이디어 나 도움을 주시면 감사하겠습니다.

enter image description here

답변

1

이 메시지를 받고있어 그 이유는 사용자가 HTTP PUT 방식을 지원하지 않습니다 사용하려는 API.

일반적으로 웹 API 2.0을 사용하는 경우 PUT을 지원하는 웹 메서드의 속성은 [HttpPut]입니다. Put을 지원하도록 API에 플래그를 지정하는 다른 f}은 있지만 일반적으로 사용되지는 않습니다.

귀하의 API가 문제인지 확인하는 가장 쉬운 방법은 우편 배달부를 사용하여 API를 사용하는 것이며, 이는 자바 스크립트로 발생할 수있는 문제를 제거합니다.

+0

현재 우체부에서 테스트 중이며 작동 중입니다. 우편 배달부를 통해 부동산을 편집하고 내 페이지를 새로 고치고 재산을 내가 편집 한 값 –

+0

우편 배달부에 넣으시겠습니까? 우편 배달부의 스크린 샷으로 질문을 업데이트 할 수 있습니까? – Avitus

+0

업데이트 된 질문 –

관련 문제