错误的Content-Type被替换为获取http请求

时间:2016-06-27 18:17:16

标签: javascript json http fetch

我在客户端上有这段代码:

return fetch('http://localhost:8080/api/authenticate', {
    method: 'POST',
    mode: 'no-cors',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        username: 'admin',
        password: 'admin',
    }),
});

当我因某种原因发送此请求时,Content-Type将替换为text/plain;charset=UTF-8。这使我的服务器端失败了请求,因为它只接受application/json个请求。我在这做错了什么? 我使用的是Chrome 51,这是我的要求:

enter image description here

编辑: 当我删除JSON.strigify() Content-Type和Request有效负载时也被省略。 这是一个例子:

Result without JSON.stringify()

1 个答案:

答案 0 :(得分:3)

您已设置mode: 'no-cors',,因此无法将'Content-Type'设置为'application/json'。它不是safe values for Content-Type之一。