Tôi đang cố gắng gửi yêu cầu GET đến API nhưng khi tôi thêm tiêu đề tùy chỉnh vào mã, mọi thứ lạ sẽ xảy ra. Một nơi nào đó phương pháp yêu cầu thay đổi thành OPTIONS khi nó đến máy chủ web.Lấy yêu cầu GET với tiêu đề tùy chỉnh ReactJS
Nhưng khi tôi làm như vậy mà không có tiêu đề, nó sẽ là loại GET. Khi tôi sử dụng trình đăng ký ứng dụng (công cụ phát triển API), yêu cầu hoạt động tốt!
đang yêu cầu:
let token = this.generateClientToken(privateKey, message);
let myheaders = {
"appID": appID,
"authorizationkey": token
}
fetch('http://localhost:8080/api/app/postman', {
method: "GET",
// body: JSON.stringify(''),
headers: myheaders
}).then(function(response) {
console.log(response.status); //=> number 100–599
console.log(response.statusText); //=> String
console.log(response.headers); //=> Headers
console.log(response.url); //=> String
return response.text()
}, function(error) {
console.log(error.message); //=> String
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
Server đăng nhập ouput (với tiêu đề):
worker_1 | 172.18.0.4 - 17/Mar/2017:15:47:44 +0000 "OPTIONS /index.php" 403
web_1 | 172.18.0.1 - - [17/Mar/2017:15:47:44 +0000] "OPTIONS /api/app/postman HTTP/1.1" 403 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0" "-"
sản lượng Server đăng nhập (không có tiêu đề):
worker_1 | 172.18.0.4 - 17/Mar/2017:16:01:49 +0000 "GET /index.php" 403
web_1 | 172.18.0.1 - - [17/Mar/2017:16:01:49 +0000] "GET /api/app/postman HTTP/1.1" 403 5 "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0" "-"
thêm các module NPM cho lấy hỗ trợ trong các trình duyệt thêm:
https://github.com/github/fetch#obtaining-the-response-url
https://github.com/taylorhakes/promise-polyfill
gì am i thiếu ở đây? Tất cả đều đúng với tôi.
Tôi đang sử dụng phiên bản phát triển firefox để kiểm tra các ứng dụng Reactjs bằng cách chạy nó với NPM bắt đầu
Kiểm tra điều này .. Tôi gần như chắc chắn rằng nó có liên quan đến CORS: http: // stackoverflow.com/questions/27915191/how-does-the-chrome-trình duyệt-quyết định-khi-to-gửi-tùy chọn –