2012-04-01 125 views
0

我可能失去了一些东西,但直到现在还没有弄明白。我有一个MVC应用程序,它监听Web默认端口(即80),在与用户交互结束时,它发送一个Ajax post请求(使用jquery)到一个WCF 4 REST服务,它侦听港口90,可悲的是,我不允许这样做,因为brower同源的政策安全问题。跨域阿贾克斯发帖请求

我读到Chrome,Safari和Firefox默认支持跨域请求的CORS协议。

在我的服务器中,我在响应头中添加了以下内容:Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Headers和Access-Control-Max-Age。

从我看到的所有cors插件处理microsoft xdr对象并且不会更改xhr的默认行为。

任何帮助将appriciated,

感谢,

罗恩

+0

添加'接入控制允许Origin'头应该工作,它必须从服务侦听端口90发送(以确保公正)。 – stewe 2012-04-02 06:53:09

回答

0

嘿stewe感谢您的答复,添加标题到服务响应没有做的伎俩。 但以下(科尔斯解决方案):

a)我正在使用jquery v 1.5.1,并发现有人报告与跨域请求相关的错误,这在以后的版本中已修复。

b)在Web服务的配置,我decalred如下:

<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*"/> 
    <add name="Access-Control-Allow-Headers" value="Content-Type"/> 
    </customHeaders> 
</httpProtocol> 

这SLN相关仅适用于支持CORS协议(即不是IE)的,我们可以用easyxdm浏览器。

最终,我决定不把我的服务暴露给用户,而是通过用户界面。

感谢,

罗恩