Heim  >  Fragen und Antworten  >  Hauptteil

php - Apache跨域POST请求被拦截,只发送options预请求问题

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

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

补充,如图

阿神阿神2771 Tage vor663

Antworte allen(3)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:37:04

    加个 nginx 做反向代理吧

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

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

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-11 10:37:04

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

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

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

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

    Antwort
    0
  • 巴扎黑

    巴扎黑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
          });
       }
    })

    Antwort
    0
  • StornierenAntwort