2014-12-18 17 views
-1

API 컨트롤러를 요청할 때 많은 문제가 있습니다. 구성 API에 문제가 있다고 생각합니다.asp.net 웹 api 컨트롤러에서 요청 아약스 데이터를 가져올 수 없습니다

ValuesController가있는 일반 웹 API를 만들면 어떻게됩니까?

  • ValuesController의 경우 아래와 같이 요청 아약스를 만듭니다. 도메인을 교차 할 필요가 없습니다.

    단지 위와 같이, 내가 일반적으로 데이터를 얻을 수 있습니다
    $.ajax({ 
        type: "delete", 
        url: "http://localhost/api/values/4", 
        success: function (data) { 
        console.log(data) 
        } 
    }) 
    

하지만 프로젝트에 대한

  • [EnableCors(origins: "*", headers: "*", methods: "*")] 
    public class ValuesController : ApiController 
    { 
        [HttpDelete] 
        public HttpResponseMessage Delete([FromUri] Int64 ID1, [FromUri] Int64 ID2) 
        { 
        } 
    } 
    

    내가 데이터 양식을 얻을 수없는 컨트롤러

    에 EnableCors 필요 아약스 요청은 다음과 같습니다.

    $.ajax({ 
        type: 'delete', 
        url: 'http://localhost/api/values/1/2', 
        crossDomain: true, 
        success: function() { 
        } 
    }); 
    

또는

$.ajax({ 
    type: 'delete', 
    url: 'http://localhost/api/values/', 
    data: {ID1 : 1, ID2: 2}, 
    crossDomain: true, 
    success: function() { 
    } 
}); 

감사

  • 는 모두

  • 몬스터 프로젝트의 Web.config의를 검토하십시오.^_^

  • 답변

    0

    사용 가능 코드는 가지고있는 삭제 문제와 관련이 없습니다.

    여기에서 하나의 문제는 귀하가 Uri (fromUri)에서 하나 이상의 ID를 전달한다는 것입니다. 일반적으로 URL에 하나의 ID를 전달해야합니다.

    [HttpDelete] 
    public HttpResponseMessage Delete(int id) 
    { 
        // your code goes here 
    } 
    

    및 요청에 대한

    는이 도움이

    $.ajax({ 
        type: "delete", 
        url: "http://localhost/api/values/4", 
        success: function (data) { 
        console.log(data) 
        } 
    }); 
    

    희망을 작동합니다 :

    은 다음과 같이 될 당신의 삭제 방법을 변경

    .

    +0

    감사합니다. Omar, 나는 당신의 도움을 이해하지만 두 개의 auguments를 전달해야합니다. 그리고 put 메소드의 경우, 두 개의 인수를 설정하려고합니다. 하나는 [FromUri] Int64 Id이고, 다른 하나는 [FromBody] Student 엔티티입니다. 클라이언트에서 {crossDomain : true, data : {name : "new name", ...}, contentType : "application/x-www-form-urlencoded"}가있는 아약스 요청을 만듭니다. 그 중 하나를 요청하면 서버가 데이터를 전달하지 않고 브라우저는 '액세스 제어 허용 원점'헤더 '가 발생합니다. –

    관련 문제