Javascript 使用NodeJS提供内容,但responseType始终是&引用;

Javascript 使用NodeJS提供内容,但responseType始终是&引用;,javascript,node.js,api,server,Javascript,Node.js,Api,Server,我正在尝试使用Node.js开发一个简单的API,im在客户端上使用XMLHttpRequest,数据得到了很好的服务,但是我无法为我的响应设置响应类型头 因此,客户端上xhr对象的响应类型总是: 响应类型:” 即使我设定: res.writeHead(200, {'content-type':"application/javascript"}); POST和GET情况都会发生这种情况 - My server.js: var https = require('https'), opti

我正在尝试使用Node.js开发一个简单的API,im在客户端上使用XMLHttpRequest,数据得到了很好的服务,但是我无法为我的响应设置响应类型头

因此,客户端上xhr对象的响应类型总是:
响应类型:”

即使我设定:

res.writeHead(200, {'content-type':"application/javascript"});
POST和GET情况都会发生这种情况

- My 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
有什么建议吗


谢谢

也许我不理解这个问题,但程序似乎没有在POST案例中写入任何标题

  case "POST":
       res.writeHead(200, {
       });
应该读像

   case "POST":
       res.writeHead(200, {
           'content-type': "application/javascript"
       });

(或者在切换之前对其进行初始化)

可能我不理解问题所在,但程序似乎没有在POST案例中写入任何标题

  case "POST":
       res.writeHead(200, {
       });
应该读像

   case "POST":
       res.writeHead(200, {
           'content-type': "application/javascript"
       });

(或者在切换之前对其进行初始化)

看起来您只是在GET请求上设置标题,而不是在POST上设置标题


这可能是问题所在吗?

看起来您只是在GET请求上设置标题,而不是在POST上设置标题

这可能是问题所在吗?

描述(并且应该由您设置)
响应
属性的JavaScript数据类型:
arraybuffer
blob
文档
json
,或
文本
。这里有文本;如果希望将响应值解释为
ArrayBuffer
Blob
而不是文本,则需要在发送请求之前设置
responseType
属性

在任何情况下,
application/javascript
都不是
responseType
属性的有效值。在这种情况下,
响应
属性中会出现什么类型的JavaScript值?它已经是一个字符串了

如果您只想读取客户端中的
内容类型
响应头,请在请求完成后使用方法:

var contentTypeHeader = xhr.getReponseHeader("Content-Type");
描述(并且应该由您设置)
响应
属性的JavaScript数据类型:
arraybuffer
blob
文档
json
文本
。这里有文本;如果希望将响应值解释为
ArrayBuffer
Blob
而不是文本,则需要在发送请求之前设置
responseType
属性

在任何情况下,
application/javascript
都不是
responseType
属性的有效值。在这种情况下,
响应
属性中会出现什么类型的JavaScript值?它已经是一个字符串了

如果您只想读取客户端中的
内容类型
响应头,请在请求完成后使用方法:

var contentTypeHeader = xhr.getReponseHeader("Content-Type");

这是我粘贴代码时的错误抱歉。。。已经编辑好了,谢谢!这是我粘贴代码时的错误抱歉。。。已经编辑好了,谢谢!这是我粘贴代码时的错误抱歉。。。已经编辑好了,谢谢!这是我粘贴代码时的错误抱歉。。。已经编辑好了,谢谢!