2011-11-16 3 views
0

그래서 나는 스트레이트 jQuery/HTML, asp.net에 의해 소비 될 기본 WCF 서비스를 가지고있다.jQuery ajax WCF 크로스 도메인

브라우저를 통해 내 test.svc/test에 GET 호출을 보내고 예상 한 JSON 결과를 얻을 수 있습니다. 은 { "D": [ "TEST1", "TEST2", "TEST3"]} 이제

, 내가 jQuery를 1.4.x를 통해 소비하기 위해 노력하고있어

$.ajax({ 
     type: "GET", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     url: methodUrl, 
     data: {}, 
     beforeSend: function (XMLHttpRequest) { 
      XMLHttpRequest.setRequestHeader("Accept", "application/json"); 
     }, 
     success: successCallback, 
     error: failedCallback 
    }); 

난 오류 정보를 잡아서 콘솔에 덤핑하면 이것은 내 오류입니다. LOG : { "readyState": 4, "status": 0, "statusText": "error"} LOG : "error" LOG : { "메시지": "액세스가 거부되었습니다. \ r \ n", " 설명 ":"액세스가 거부되었습니다. \ n \ ","숫자 ": - 2147024891}

JSON-P 및/또는 crossDomainScriptAccessEnabled 또는 30 가지를 사용해야한다는 내용을 읽었습니다.

지금까지이 문제에 대한 일관된 해결책을 보지 못했습니다.

도움을 주시면 감사하겠습니다.

감사합니다. Jon

답변

0

그래서 우리 상황에 상관없이 해킹 인 것 같습니다.

우리는 JS가있는 일반 html 페이지 만 허용하고 IE 만 지원하는 MS Dynamics CRM 2011을 사용하고 있습니다.

우리는 다른 상자에 앉아 실제 WCF 서비스를 호출하는 프록시 인 CRM과 동일한 상자에있는 또 다른 WCF 서비스를 종료했습니다.

goofy로 유지 관리에 더 많은 오버 헤드가 추가되지만 다른 소비자도 JSON-P 대신 JSON을 계속 생성 할 수 있습니다.

관련 문제