axios.post发送了{"picCode":"popn","picKey":"eb5d6fd3-6fa0-492c-acd5-389588057d0e","tel":"15106012546"}这样一段数据,但是后端就是获取不到
时间: 2023-10-27 16:05:47 浏览: 42
根据提供的引用内容,可以看出问题出在请求头的Content-Type上。后端要求的Content-Type是'application/x-www-form-urlencoded',但是在axios.post请求中,没有设置Content-Type,导致后端无法正确解析请求数据。可以按照以下方法解决问题:
1.在axios.post请求中设置headers,将Content-Type设置为'application/x-www-form-urlencoded'。
2.将请求数据转换为URLSearchParams对象,然后作为第二个参数传递给axios.post方法。
具体实现方法可以参考以下代码:
```
var url = "换成你的地址";
var data = {
picCode: "popn",
picKey: "eb5d6fd3-6fa0-492c-acd5-389588057d0e",
tel: "15106012546"
};
var params = new URLSearchParams();
for (const key in data) {
params.append(key, data[key]);
}
axios.post(url, params, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(res => {
console.log(res);
})
```
相关问题
Error: Cannot set properties of undefined (setting 'Content-Type') at axios.js:13:36 triggerError @ vue-router.mjs:3
这个错误通常是因为在发送 axios 请求时没有正确地设置请求头。请确保请求头中包含正确的 Content-Type 字段,如下所示:
```
axios.post('/api/endpoint', data, {
headers: {
'Content-Type': 'application/json'
}
})
```
另外,也要确保你已经正确引入了 Axios 库,以及在 Vue 项目中正确配置了 Axios。
Access to XMLHttpRequest at 'http://localhost:10010/item' from origin 'http://localhost:9001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. (索引):236 Error: Network Error at e.exports (axios.min.js:8:4483) at l.onerror (axios.min.js:8:3323) axios.min.js:8 POST http://localhost:10010/item net::ERR_FAILED (匿名) @ axios.min.js:8 e.exports @ axios.min.js:8 e.exports @ axios.min.js:8 Promise.then(异步) r.request @ axios.min.js:8 r.<computed> @ axios.min.js:8 (匿名) @ axios.min.js:2 confirmEdit @ (索引):222 invoker @ vue.js:2029 Vue.$emit @ vue.js:2538 handleClick @ element.js:1 invoker @ vue.js:2029 fn._withTask.fn._withTask @ vue.js:1828
这是一个跨域请求被拦截的错误。由于浏览器的同源策略限制,JavaScript 发起的跨域请求会被浏览器拦截,除非服务器设置了允许跨域请求的响应头。在这个错误信息中,服务器没有设置 Access-Control-Allow-Origin 响应头,导致浏览器拦截了该请求。解决这个问题的方法是在服务器端设置响应头 Access-Control-Allow-Origin,允许跨域请求的源。具体的方法可以参考跨域资源共享(CORS)相关的文档和教程。