Apabila menghantar permintaan pos ke latar belakang, hanya ada satu permintaan pilihan tetapi tiada permintaan kiriman sebenar boleh berjaya. Dan jika anda menggunakan posmen, permintaan pos juga boleh berjaya. Adakah saya perlu mengkonfigurasi apa-apa? Kodnya adalah seperti berikut:
Apabila menghantar permintaan pos:
Hantar dapatkan permintaan:
Dalam persekitaran posmen, jawatan boleh berjaya.
Kod nodejs adalah seperti berikut:
var app = require('express')();
var User = require("./users.js");
app.post('/users/login',function (req,res) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.send("foo");
console.log(res)
})
app.get('/users/login',function (req,res) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.send("bar");
})
app.listen('1090','127.0.0.1');
Meja penyambut tetamu menggunakan $http Angular.
Apa yang saya ingin tanya ialah mengapa hanya terdapat pilihan merentas domain ini semasa membuat siaran
Fikirkan dahulu mengapa permintaan
options
dihantar (jika anda sudah mengetahuinya, abaikan), berikut adalah prasyarat untuk menghantar (permintaan Preflight).Memandangkan permintaan GET tidak mempunyai pra-permintaan dan dihantar terus, tiada masalah. Anda perlu memproses permintaan
pra-permintaan berjaya , permintaan sebenar akan dihantar permintaanoptions
的请求,并且带上CORS需要的那些头,例如Access-Control-Allow-Origin
等,这样options
的预请求成功之后,才会接着发送真正的post
di hujung belakang, dan membawa pengepala yang diperlukan oleh CORS, sepertiAccess-Control-Allow-Origin
, dsb., supaya selepaspost
! ! !
, tetapi status bahagian hadapan anda menunjukkan bahawa permintaan itu berjaya! ! ! Ingin tahu bagaimana ini dilakukan?options
Saya sendiri ada soalan. Saya nampak kod bahagian belakang anda tidak memproses permintaanhttps://github.com/wxungang/n...
Kod penuh