【发布时间】:2016-09-02 04:16:34
【问题描述】:
我正在尝试使用 Node.js 开发一个简单的 API,我在客户端上使用 XMLHttpRequest 并且数据服务良好,但我无法为我的响应设置 Response-Type 标头。
所以客户端上 xhr 对象上的 Response-Type 总是:
responseType:"".
即使我设置:
res.writeHead(200, {'content-type':"application/javascript"});
POST 和 GET 情况都会发生这种情况。
- 我的 server.js:
var https = require('https'),
options = {
key : fs.readFileSync('key.pem'),
cert : fs.readFileSync('cert.pem')
},
server = https.createServer(options);
server.on('request', function (req, res) {
switch(req.method){
case "GET":
res.writeHead(200, {
'accept': '*/*',
'content-type': "application/javascript"
});
res.end('console.log("API GET Received")');
break;
case "POST":
res.writeHead(200, {
'content-type': "application/javascript"
});
req.on("data", function(data){
console.log(data.toString("utf8"));
});
res.end('console.log("API POST received")');
break;
case "PUT":
break;
case "DELETE":
break;
}
req.on('error', function(err) {console.log(err);});
return;
}
server.listen(443);
- XHR 对象登录客户端:
...
readyState:4
response:'console.log("API POST received")'
responseText:'console.log("API POST received")'
responseType:"" //This should be: "application/javascript"
...
顺便说一句:
node -v: v6.5.0
npm --version: 3.10.6
有什么建议吗?
谢谢!
【问题讨论】:
标签: javascript node.js api server