2017-03-07 1 views
0

가 나는 AJAX API를 짓고 있어요, 나는 크로스 도메인 요청을하기 위해 노력하고있어 아마도 때문에 (405 오류가 발생했습니다.크로스 도메인이 아닌 AJAX API를 작성하는 방법은 무엇입니까?

var API = function() { 


    API.AddToCart = function(item_id) { 
     $.ajax({ 
      type: "POST", 
      url: "/add-cart-item/" + item_id, 
      success: function(){ 
      } 
     }); 
    } 
}; 

나는이 교차하게 이해하지 않는다 도메인 및. 크로스 도메인 요청을하지 누군가가 나에게이 개념을 설명 할 수 있습니까?

답변

1

당신의 서버가 해당 엔드 포인트에 대한 POST 메소드를 지원하지 않는 것 같습니다 방법에 대해 설명합니다. 더 설명은 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405을 확인하시기 바랍니다.

+0

놀랍습니다. 어떻게 생각해 냈는지 모르겠습니다. 나는 'GET'요청으로 URL에서 데이터를 가져 와서 이상한 일을 시도했다. 나는 AJAX가 URL에 데이터를 전송할 수 있다는 것을 정말로 이해하지 못한다. 내 AJAX 요청에 'data : *'섹션이 없다는 것을 알고있을 것입니다. 그 개념을 설명하는 링크 나 웹 사이트에 대해 알고 있습니까? – Jacob

+0

자세히 알아보고 AJAX의 핵심 개념을 이해하려면 [AJAX - MDN] (https://developer.mozilla.org/en/US/docs/AJAX) 링크를 확인하십시오. – Hirak

1

405를 얻은다고해서 반드시 CORS 문제가있는 것은 아닙니다. 그 POST 메서드는 서버 측에서 해당 메서드에 사용할 수 있습니까?

+0

405 오류가 발생하는 이유는 무엇입니까? – Jacob

+0

@JacobHenning 경우에 따라 CORS 문제 일 수도 있지만, 교차 도메인을 게시하지 않으면 일반적으로 메소드가 특정 유형의 요청 (예 : POST가 아닌 GET) 만 허용하기 때문입니다. [HttpGet] 및 [HttpPost] 속성을 사용하여 컨트롤러 메소드를 꾸미면 이러한 유형의 요청 만 허용됩니다. PUT 또는 DELETE 또는 다른 유형의 요청을 제한하려면 [HttpGet, HttpPost]를 결합 할 수도 있습니다 –

관련 문제