我正在尝试将JSON数据从JQuery发布到跨域WCF 4.0 REST服务,并且无法通过跨域方面。这是我的REST方法:
[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 :(得分:0)
为了它的价值,在IIS 7中,我创建了一个"子应用程序"到我的网站名为" Rest"并指出我的WCF Rest服务代码所在的位置(在我的例子中为C:\ inetpub \ wwwroot \ RestServices)。然后我在我的网站上更改了所有服务电话,以使用相同的域名但附加了" \ Rest \"到URL。
网站的网址: http://local.companyapp.com/
REST服务的URL: http://local.companyapp.com/Rest/ServiceLibrary/Save
之前,我试图访问: http://local.RestServices.com/ServiceLibrary/Save
它没有工作,因为它是一个不同的域(local.RestServices.com)它失败了。将IIS更改为具有"子应用程序"命名"休息"指向我的Rest Services所在的位置可以解决问题。
我不确定一旦我准备将其推广到制作中,我会遇到什么问题。从表面上看,我喜欢这种方法,因为它并没有强迫我修改我的代码来处理跨域请求的怪异。
对此的任何评论都非常感谢。感谢