1. 跨域问题
一台计算机不同的端口会被识别为不同的域,在后端编写跨域规则时,要注意写明不同的端口。
CDN方式引用脚本,会使跨域情况变得复杂,对于需要发送AJAX请求的脚本,请与其他文件保存到同一位置再引用。
2.Token携带
token字符串放在请求头(Headers)中,格式为'Authorization': 'Bearer ' + Token
,“Bearer”表示一种token加密算法,例如:
axios({
method: "get",
url: "http://127.0.0.1:8000/user/me",
headers: {
'Authorization': 'Bearer ' + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqb2huZG9lIiwiZXhwIjoxNjM3MzExOTU3fQ.n5aNozSfEmLWXHQAQ8dZGm6wTFvW4pu7eAPDIyiyXIY'
},
})
.then(response => (console.log(response.data)))
.catch()
3.表单发送
有些服务器限制只能使用表单(Form)格式发送数据,使用AJAX发送需要注意几点:
- 在请求头(headers)中加入属性
'Content-type': 'application/x-www-form-urlencoded'
。 - 在数据域不能使用JSON写法,应使用类似GET参数的字符串写法,例如:
data: "username=johndoe&password=secret"
axios({
method: "post",
url: "http://127.0.0.1:8000/token",
headers: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: "username=johndoe&password=secret",
})
.then(response => (response => (console.log(response.data)))
.catch()