-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() {
}
});
- i는 기본 프로젝트 API의 Web.config의 괴물 프로젝트 API의 Web.config의 차이를 볼 수 있지만 나는 Web.config의를 구성하는 방법을 모른다 . https://drive.google.com/file/d/0B3EtIiiIvE-Hb0UwcFZDVHhSUmc/view?usp=sharing
기본 일 : https://drive.google.com/file/d/0B3EtIiiIvE-HVTU4cnltNzZJNnM/view?usp=sharing
감사
몬스터 프로젝트의 Web.config의를 검토하십시오.^_^
감사합니다. Omar, 나는 당신의 도움을 이해하지만 두 개의 auguments를 전달해야합니다. 그리고 put 메소드의 경우, 두 개의 인수를 설정하려고합니다. 하나는 [FromUri] Int64 Id이고, 다른 하나는 [FromBody] Student 엔티티입니다. 클라이언트에서 {crossDomain : true, data : {name : "new name", ...}, contentType : "application/x-www-form-urlencoded"}가있는 아약스 요청을 만듭니다. 그 중 하나를 요청하면 서버가 데이터를 전달하지 않고 브라우저는 '액세스 제어 허용 원점'헤더 '가 발생합니다. –