记录下用axios遇到的问题

时间:2023-03-09 07:07:23
记录下用axios遇到的问题

这两天用axios做页面登录。遇到了N多问题,。首先是报Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://10.10.10.76:8080' is therefore not allowed access.

记录下用axios遇到的问题

好明显就是说跨域的问题,查了N久没有找到答案,后来看到说是请求头问题。然后设置了下请求头为


const headers = {
  "Content-Type": "application/x-www-form-urlencoded"
};
 axios({
url: cUrl + url,
method: "post",
data:data,
headers: headers
})

嗯 。居然可以了,但是提交的form data格式 明明是JSON格式却转成了字符串格式

记录下用axios遇到的问题

以至于后台 获取到只有一个参数说值不能为空。百思不得其解。后来发现必须要转换。用new URLSearchParams()来代替,用法如下

const params = new URLSearchParams();
params.append("usr", data.usr);
params.append("pwd", data.pwd);
axios({
url: cUrl + url,
method: "post",
data:params, headers: headers
       })

  然后就可以了,用了URLSearchParams之后 貌似直接 不用设置请求头也能可以了