2011-10-19 2 views
0

JQuery에서 교차 도메인 WCF 4.0 REST 서비스로 JSON 데이터를 게시하려고하는데 교차 도메인 측면을 지나칠 수 없습니다.WCF 4.0 REST 서비스에 대한 jQuery 도메인 간 게시

[OperationContract] 
    [WebInvoke(Method = "*", 
     BodyStyle = WebMessageBodyStyle.Bare, 
     RequestFormat = WebMessageFormat.Json 
     ResponseFormat = WebMessageFormat.Json, 
     UriTemplate = "Save")] 
    DataContract Save(DataContract dataContract); 

가 여기 내 jQuery 코드입니다 :

$.ajax(
{ 
type: 'POST', 
url: url, 
data: JSON.stringify(data), 
dataType: 'json', 
contentType: 'application/json', 
success: function(data) 
{ 
    alert('success'); 
}, 
error:function (xhr, ajaxOptions, thrownError) 
{ 
    alert(xhr.status); 
    alert(thrownError); 
} }); 

내가 this post 우연히 발견했지만 작동 가져올 수 없습니다 여기 내 REST 방식입니다. 도와주세요.

감사

톰은 IIS 7에서, 가치가 무엇인지에 대한

답변

0

, 나는 ("나머지"라는 내 웹 사이트에 "하위 응용 프로그램"을 만들어 내 WCF 나머지 서비스 코드가 사는 곳으로 지적 내 경우에는 C : \ inetpub \ wwwroot \ RestServices). 그런 다음 내 웹 사이트의 모든 서비스 요청을 동일한 도메인을 사용하지만 URL에 "\ Rest \"를 추가하도록 변경했습니다. 웹 사이트에

URL : REST 서비스에 이 http://local.companyapp.com/

URL : 그것은 다른 도메인 때문에 그것은 작동하지 않는 http://local.RestServices.com/ServiceLibrary/Save

: 전에 http://local.companyapp.com/Rest/ServiceLibrary/Save

, 나는 액세스하려고했다 (local.RestServices.com) 실패했습니다. 내 Rest Services가있는 곳을 가리키는 "하위 응용 프로그램"이라는 "Rest"라는 이름의 IIS를 변경하면 문제가 해결됩니다.

한 번 실행해야 할 문제가 무엇인지 확실하지 않아이를 프로덕션으로 승격 할 준비가되었습니다. 표면적으로이 방법은 크로스 도메인 요청을 둘러싼 기이함을 처리하기 위해 코드를 수정하도록 강요하지 않기 때문에이 방법이 마음에 들었습니다.

모든 의견을 보내 주시면 감사하겠습니다. 감사합니다.

관련 문제