Tôi đang cố gắng thực hiện một yêu cầu đa nguồn đơn giản và Firefox liên tục chặn nó với lỗi này:
Yêu cầu nguồn gốc chéo bị chặn: Chính sách nguồn gốc giống nhau không cho phép đọc tài nguyên từ xa tại [url]. Điều này có thể được khắc phục bằng cách di chuyển tài nguyên sang cùng một miền hoặc bật CORS. [url]
Nó hoạt động tốt trong Chrome và Safari.
Theo như tôi có thể nói, tôi đã đặt tất cả các tiêu đề chính xác trên PHP của mình để cho phép điều này hoạt động. Đây là những gì máy chủ của tôi đang phản hồi
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
Tôi đã thử sử dụng Angular, jQuery và một đối tượng XMLHTTPRequest cơ bản, như sau:
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()
... và nó hoạt động trên mọi trình duyệt ngoại trừ Firefox. Bất cứ ai có thể giúp đỡ với điều này?
Accept application/json, text/plain, */*
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Length 35
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Host [url]
Origin [url]
Referer [referrer url]
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0
Lỗi: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [url]. This can be fixed by moving the resource to the same domain or enabling CORS. [url]
mozSystem
không được hỗ trợ cho các trang web thông thường chỉ là ứng dụng firefox-os được đóng gói , vì vậy hãy bỏ tùy chọn đó.