我尝试使用axios获取X-Auth-Token。邮递员给我这个消息:postman header
import axios from 'axios';
import qs from 'qs';
const API_URL="http://localhost:8080/api/1.0";
class DataService {
login() {
const data = {
'login': 'xxxxx';
'password': 'yyyyy';
};
const options = {
"async": true,
"crossDomain": true,
method: 'POST',
headers: {
'Content-Type': "application/x-www-form-urlencoded"
},
data: qs.stringify(data),
url: `${API_URL}/login`,
};
return axios(options);
}
}
export default new DataService();
上面的脚本返回此:console output
[我不知道为什么axios不给我像邮递员一样的内容?这取决于CORS吗?
对于CORS请求,默认情况下浏览器只能访问以下响应头:
如果您希望客户端应用程序能够访问其他标头,则需要在服务器上设置Access-Control-Expose-Headers标头:
Access-Control-Expose-Headers: Access-Token, Uid
在nodejs中
...
const cors = require('cors');
const corsOptions = {
exposedHeaders: 'Authorization',
};
app.use(cors(corsOptions));
...
如果您以以下方式发送回复,res.header('Authorization', "Bearer ${token}").send();