Vue.js使用Axios的POST方法进行跨域请求时遇到的坑

Vue.js推荐使用Axios进行数据请求,粗略的看了一下,和Ajax的写法差不多,上手一个get请求的小例程,在后端引入AddHeader("Access-Control-Allow-Origin", "*")后没有问题。

接着进行post请求,无论后端怎么允许跨域访问,控制台总是报 Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 这个错误。不知道是Axios的问题还是什么原因,在网上搜寻到的办法是引入qs,在此做个记录。

1、引入qs:             cnpm install qs

2、在项目中引入:     import qs from 'qs'

3、进行post请求:

axios.post('http://localhost:22148/ashx/EquipmentMessages.ashx', qs.stringify({
                  'projectname': this.projectName,
                  'equipmentname':this.equipmentName
                }))
                .then(response=> {
                  console.log(response);
                })
                .catch(error=> {
                  console.log(error);
                })

你可能感兴趣的:(vue.js,Axios,Post,跨域)