记录一下今天后端接口的问题
拿了后端接口的数据测试,一开始怀疑原因在前端的vue框架上
后端同事没用过vue,差点被甩锅。。。。这锅我不接啊!!!
之后写了一个jQuery测试接口,让他先解决跨域问题
疑难杂症:postman测试通过,但axios还是报跨域问题_bug收集-CSDN博客
跨域问题解决了,参数后端收不到
axios.defaults.headers.post['Content-Type'] ='application/x-www-form-urlencoded; charset=UTF-8';
axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';
改了头部,没有作用
之后新写了一个页面测试jQuery的ajax请求,接口在没有被JSON.stringfy()的情况下,请求成功
// var data = JSON.stringify({username:"admin",password:"1234"})
var data = {username:"admin",password:"1234"}
$.ajax({
type: 'POST',
url: 'http://ppqq.fortiddns.com:30080/api/login',
data: data,
// dataType: dataType,
success: function (res) { console.log(res,"success")},
error: function (err) {console.log(err,"err")}
})
后来发现,vue框架里面使用的axios将JavaScript对象序列化为JSON
看了中文网手册axios中文文档|axios中文网 | axios,于是改成了这样的写法
export function login(name, password){
const params = new URLSearchParams()
params.append('username', name);
params.append('password', password)
return request(MLOGIN,METHOD.POST,params)
}
于是接口请求成功...