Javascript 飞行前请求因window.fetch api而失败
让我先说一句,它在Chrome的附加API客户端POSTMAN中工作。但它在我的实际应用程序中不起作用,我想知道在获取请求中是否有我忘记包含的内容Javascript 飞行前请求因window.fetch api而失败,javascript,ajax,fetch,preflight,Javascript,Ajax,Fetch,Preflight,让我先说一句,它在Chrome的附加API客户端POSTMAN中工作。但它在我的实际应用程序中不起作用,我想知道在获取请求中是否有我忘记包含的内容 (id, vzId)=>{ var json = {id: id, vzId: vzId, }; var request = { method: 'POST', body: json, headers
(id, vzId)=>{
var json = {id: id, vzId: vzId, };
var request = {
method: 'POST',
body: json,
headers: new Headers({
'Accept': 'application/json',
'Content-Type': 'application/json'
})
}
fetch('http://localhost:8080/notification/markRead',request).then(function(response){
return response.json();
}).then(function(json){
console.log(json);
})
}
我有以下要求
(id, vzId)=>{
var json = {id: id, vzId: vzId, };
var request = {
method: 'POST',
body: json,
headers: new Headers({
'Accept': 'application/json',
'Content-Type': 'application/json'
})
}
fetch('http://localhost:8080/notification/markRead',request).then(function(response){
return response.json();
}).then(function(json){
console.log(json);
})
}
当请求被触发时,它会将此错误返回给我
OPTIONS http://localhost:8080/notification/markRead
Fetch API cannot load http://localhost:8080/notification/markRead.
Response for preflight has invalid HTTP status code 403
我在我的chrome rest客户端(POSTMAN)中使用了完全相同的url和数据,它工作正常,但由于某种原因,当我使用FETCH api时它不工作。任何帮助都将不胜感激 如果有人无意中发现了这一点,并且它可以帮助未来的人们,我们找到了答案。我发布的代码没有问题。它对Postman而不是客户端起作用的原因是Postman不执行飞行前请求。客户端(几乎所有网站都会这样做)以选项方法的形式发送飞行前请求。后端Spring服务器不允许选项方法。后端开发人员必须允许OPTIONS方法访问服务器中的特定路由,而不仅仅是POST 因此,如果您正在测试Postman,但无法复制该行为,请记住Postman不会发送飞行前请求