php - Apache跨域POST请求被拦截,只发送options预请求问题
阿神
阿神 2017-04-11 10:35:04
0
3
660

为了做毕设,在本地用webpack搭建了vuejs项目,然后服务端用的wampsever
现在的问题就是,跨域
我用vue-axios发送post请求时,只发送了options请求,post请求跨域被拦截了
我知道是跨域,但是就是解决不了,百度apache看了好多,修改配置都试过,完全没有
所以回复那种开启某个服务注释,配置文件加set * 的就不要提了
普通的跨域比如获取数据我都成功了,现在是我要调api发送post请求json数据时就会提示跨域被拦截
然后只有ie可以用,没提示跨域
希望大家帮我解决一下,谢谢了,我看了三四天了

补充
本地vuejs是localhost8084,apache是localhost80端口

补充,如图

阿神
阿神

闭关修行中......

membalas semua(3)
伊谢尔伦

加个 nginx 做反向代理吧

参见我的文章:https://segmentfault.com/a/11...

另外,毕设的话,设置 proxyTable 即可,简单易行

刘奇

开启配置之后有没有重启服务器呀

另外就是也许不是Apach这一层,后端PHP有没有写

header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS
');

我们来理解一个跨域请求,在发的时候会先发送一个OPTION预请求,只把header相关内容发过去,然后服务器会返回对应是否允许跨域的响应,只有当收到服务器允许跨域的设置时才能发送请求,很显然,楼主挂在服务器响应这一步了.需要一步一步的来进行排查,可能是服务器也可能是编程语言,推荐楼主试试控制变量法来一步一步测试,比如先用POSTMAN来试试请求是否有允许跨域的响应,然后再用浏览器看看报错信息

巴扎黑

使用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
      });
   }
})
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!