//jQuery 跨域POST可以正常提交和接受数据
$.post("http://127.0.0.1:3000/api/test", { name: "John", time: "2pm" },function(argument) {
console.log(argument);
});
// fetch 使用了这个 https://github.com/github/fetch,后台程序接收不到数据,该如何设置?
fetch('http://127.0.0.1:3000/api/test', {
method: 'POST',
mode: "no-cors",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Hubot',
login: 'hubot',
})
});
改为同源(如下)是ok的,问题的应该是在跨域上
fetch('/api/test', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Hubot',
login: 'hubot',
})
})
截图在这里,按照console的错误提示添加 mode: "no-cors"后,可以正常发送请求
接收不到post值
你这样向服务器提交的可是一个json数据,而不是传统的
formdata
,而jquery的可是会自动帮你转成formdate的。问题极有可能出现在这里。我怎么没找到有mode这个option,而且
no-cors
不是不跨域的意思吗?你可以这样试试: