我正在尝试提出一个简单的跨域请求,而Firefox始终通过此错误阻止它:
跨域请求被阻止:同源策略禁止读取[url]处的远程资源。可以通过将资源移到同一域或启用CORS来解决此问题。[网址]
它可以在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
我尝试使用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()
…并且适用于除Firefox之外的所有浏览器。有人能帮忙吗?
事实证明,这与CORS无关-这是安全证书的问题。误导性错误= 4小时头痛。