使用 javascript fetch api 执行 POST 请求
Using the javascript fetch api to perform a POST request
我想重现此 cURL 请求的行为:
➜ % curl --data "" https://api.t411.ch/auth
{"error":"User not found","code":101}
在这种情况下,服务器将我送回JSON。
我在 Javascript 中使用的代码是:
fetch('https://api.t411.ch/auth/', {
method: 'POST'
}).then(response => {
return response.json();
}).then(datas => {
console.log(datas);
});
有了这个,我得到一个解析 json 错误,所以,我决定 return response.text()
而不是 response.json()
console.log(datas)
打印:string(5) "1.2.4" Service 'view' wasn't found in the dependency injection container
这与我使用浏览器(GET 请求)访问 url : https://api.t411.ch/auth 时得到的字符串相同。
这意味着我的 javascript 代码发送了一个 GET 请求,即使 method: 'post'
我做错了什么?
PS:我觉得一点关系都没有,但是我在一个electron项目中使用了babel转译的es6/jsx
谢谢
您的代码正在尝试 POST 到 https://api.t411.ch/auth/
。它应该是 https://api.t411.ch/auth
而不是。这应该可以正常工作:
fetch('https://api.t411.ch/auth', {
method: 'POST'
}).then(response => {
return response.json();
}).then(datas => {
console.log(datas);
});
我想重现此 cURL 请求的行为:
➜ % curl --data "" https://api.t411.ch/auth
{"error":"User not found","code":101}
在这种情况下,服务器将我送回JSON。
我在 Javascript 中使用的代码是:
fetch('https://api.t411.ch/auth/', {
method: 'POST'
}).then(response => {
return response.json();
}).then(datas => {
console.log(datas);
});
有了这个,我得到一个解析 json 错误,所以,我决定 return response.text()
而不是 response.json()
console.log(datas)
打印:string(5) "1.2.4" Service 'view' wasn't found in the dependency injection container
这与我使用浏览器(GET 请求)访问 url : https://api.t411.ch/auth 时得到的字符串相同。
这意味着我的 javascript 代码发送了一个 GET 请求,即使 method: 'post'
我做错了什么?
PS:我觉得一点关系都没有,但是我在一个electron项目中使用了babel转译的es6/jsx
谢谢
您的代码正在尝试 POST 到 https://api.t411.ch/auth/
。它应该是 https://api.t411.ch/auth
而不是。这应该可以正常工作:
fetch('https://api.t411.ch/auth', {
method: 'POST'
}).then(response => {
return response.json();
}).then(datas => {
console.log(datas);
});