2011-10-19 24 views
0

JDriverからクロスドメインWCF 4.0 RESTサービスにJSONデータを投稿しようとしていますが、クロスドメインの面を越えることはできません。ここに私のREST方式だ: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に出くわしましたが、それは仕事を得ることができませんでした。助けてください。何が価値があるために

おかげ

トム

答えて

0

は、IIS 7で、私は「休息」という名前の私のウェブサイトに「サブアプリケーション」を作成し、どこで私のWCF RESTサービス・コード命(にそれを指摘しました私の場合はC:\ inetpub \ wwwroot \ RestServices)。その後、私のウェブサイトのすべてのサービスコールを同じドメインを使用するように変更しましたが、URLに「\ Rest \」を追加しました。

ウェブサイトへのURL:RESTサービスへ http://local.companyapp.com/

URL: http://local.companyapp.com/Rest/ServiceLibrary/Save

私がアクセスしようとした、前に: http://local.RestServices.com/ServiceLibrary/Save

それは、別のドメインだったので、それは働いていませんでした(local.RestServices.com)それは失敗していた。私のレストサービスがどこにあるのかを指し示す「サブアプリケーション」という名前の「残りの部分」を持つようにIISを変更すると、問題が修正されます。

私は一度実行する問題についてはわかりませんが、これを本番環境に移行する準備は整っています。表面上は、クロスドメイン要求を取り巻く奇妙さを処理するためにコードを修正する必要がないため、このアプローチが好きです。

これに関するご意見は大変ありがたいです。ありがとうございました

関連する問題