相关疑难解决方法(0)

尽管有标题,但Firefox的"跨源请求已被阻止"

我正在尝试制作一个简单的跨源请求,并且Firefox始终使用此错误阻止它:

跨源请求已阻止:同源策略禁止在[url]读取远程资源.这可以通过将资源移动到同一域或启用CORS来解决.[URL]

它在Chrome和Safari中运行良好.

据我所知,我已经在我的PHP上设置了所有正确的标题以允许它工作.这是我的服务器响应的内容

HTTP/1.1 200 OK
Date: Mon, 23 Jun 2014 17:15:20 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.4.4-14+deb7u8
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
Access-Control-Request-Headers: X-Requested-With, accept, content-type
Vary: Accept-Encoding
Content-Length: 186
Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)

我尝试过使用Angular,jQuery和一个基本的XMLHTTPRequest对象,如下所示:

var data = "id=1234"
var request = new XMLHttpRequest({mozSystem: true})
request.onload = onSuccess;
request.open('GET', 'https://myurl.com' + '?' + data, true)
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
request.send()
Run Code Online (Sandbox Code Playgroud)

...它适用于除Firefox之外的所有浏览器.有人能帮忙吗?

javascript firefox cross-domain cors

100
推荐指数
6
解决办法
19万
查看次数

具有多个域的访问控制允许来源

在我的web.config中,我想为access-control-allow-origin指令指定多个域.我不想用*.我试过这个语法:

<add name="Access-Control-Allow-Origin" value="http://localhost:1506, http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)

这个

<add name="Access-Control-Allow-Origin" value="http://localhost:1506 http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)

这个

<add name="Access-Control-Allow-Origin" value="http://localhost:1506; http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)

还有这个

<add name="Access-Control-Allow-Origin" value="http://localhost:1506" />
<add name="Access-Control-Allow-Origin" value="http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用.什么是正确的语法?

asp.net iis web-config cors

88
推荐指数
5
解决办法
14万
查看次数

标签 统计

cors ×2

asp.net ×1

cross-domain ×1

firefox ×1

iis ×1

javascript ×1

web-config ×1