Heim > Fragen und Antworten > Hauptteil
为了做毕设,在本地用webpack搭建了vuejs项目,然后服务端用的wampsever
现在的问题就是,跨域
我用vue-axios发送post请求时,只发送了options请求,post请求跨域被拦截了
我知道是跨域,但是就是解决不了,百度apache看了好多,修改配置都试过,完全没有
所以回复那种开启某个服务注释,配置文件加set * 的就不要提了
普通的跨域比如获取数据我都成功了,现在是我要调api发送post请求json数据时就会提示跨域被拦截
然后只有ie可以用,没提示跨域
希望大家帮我解决一下,谢谢了,我看了三四天了
补充
本地vuejs是localhost8084,apache是localhost80端口
补充,如图
伊谢尔伦2017-04-11 10:37:04
加个 nginx 做反向代理吧
参见我的文章:https://segmentfault.com/a/11...
另外,毕设的话,设置 proxyTable 即可,简单易行
怪我咯2017-04-11 10:37:04
开启配置之后有没有重启服务器呀
另外就是也许不是Apach这一层,后端PHP有没有写
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS
');
我们来理解一个跨域请求,在发的时候会先发送一个OPTION预请求,只把header相关内容发过去,然后服务器会返回对应是否允许跨域的响应,只有当收到服务器允许跨域的设置时才能发送请求,很显然,楼主挂在服务器响应这一步了.需要一步一步的来进行排查,可能是服务器也可能是编程语言,推荐楼主试试控制变量法来一步一步测试,比如先用POSTMAN来试试请求是否有允许跨域的响应,然后再用浏览器看看报错信息
巴扎黑2017-04-11 10:37:04
使用jquery的$.getJSON();方法实现跨域请求
Vue JSONP方法跨域
new Vue(
{ready() {
// GET request
this.$http.jsonp('/someUrl', {xxx:"xxxx"})
.then(function (response) {
console.log(response.data)
}, function (response) {
// error callback
});
}
})