Ana*_*aez 2 node.js express axios
我在后端使用NodeJS,在前端使用ReactJS。
我对请求Axios网络有问题。我所有的获取请求工作。但是发布请求无效。我只有这个错误“网络错误”
我创建了一个简单的Web服务来向您展示我的问题:
//Serveur code
helloWs : (request:Express.Request, response:Express.Response) => {
try {
response.send('hello WS !')
} catch (error) {
console.error(error)
response.send('error' + error + 'status : ' + error.response.status)
response.end()
}
}
//Here I create my root
router.post('/helloWs',DocumentController.helloWs)
//This is my front
axios.post('http://localhost:9000/1/documents/helloWs', {
}) .catch(function (error) {
if (error.response) {
console.log('Error data : ', error.response.data);
console.log('Error status : ', error.response.status);
console.log('Error headers : ', error.response.headers);
} else if (error.request) {
console.log('Error request : ', error.request);
} else {
console.log('Error message : ', error.message);
}
console.log(error.config);
})
Run Code Online (Sandbox Code Playgroud)
在导航器控制台中,我只有network error,而我的网络服务位于OPTION中,而不位于“ POST”中
我正在尝试在axios中添加标题,但是它不起作用。我指定我已经与邮递员测试过,没关系。你有想法吗 ?谢谢
正如评论中所建议的那样,这很可能是与cors相关的错误,浏览器会在实际请求之前发出OPTION请求,以检查您的域是否有权访问该资源。
邮递员不执行飞行前请求,这就是为什么您得到响应的原因。
尝试在定义路由之前在服务器端代码中添加此中间件
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8878 次 |
| 最近记录: |