由該問題「Make POST JSON Request From HTML Script To A Node.JS App In Another Domain」後期,我實現了一個CORS POST請求:CORS POST請求返回空體
var request = new XMLHttpRequest();
var params = "parameter=test";
request.open('POST', 'http://localhost:3009/param_upload', true);
request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");};
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(params);
這是非常接近在互聯網的例子。這是我的設置我的node.js服務器端:
app.use(cors());
var corsOptions = {
origin: '*',
credentials: true,
allowedHeaders: ['*'],
optionsSuccessStatus: 200
}
當然,我app.post功能有CORS(corsOptions)在其頭部。但不知何故身體是空的。根據要求,我得到了一個非常長的答覆,裏面沒有測試文字。我可能錯過了一點,但環顧四周,並沒有發現它。如果有人幫忙,我會很高興。
查找控制檯中的錯誤?對於'allowedHeaders'&'*'請參閱https://stackoverflow.com/questions/13146892/cors-access-control-allow-headers-wildcard-being-ignored –
該函數成功返回。沒有錯誤。我會檢查allowedHeaders。 – coras09
「但不知何故,身體是空的」在節點JS端或發送的http請求本身是空的?爲什麼在使用cors中間件後創建corsOptions對象?你必須將這些選項提供給cors中間件函數才能生效:'''app.use(cors(corsOptions));''' – Gatsbill