vuejs跨域问题,问题不是前后端分离的开发而是在vuejs中请求另外一个项目的数据。

这个配置的方式是代理,但是我的数据不是在一个项目里面,这种方式是前台页面和后端是在一个项目中发布的。
clipboard.png

我碰到的问题是我在vuejs中ajax请求的是另一个系统的接口。
clipboard.png
红色的框就是我要请求的项目的接口地址。请问各位大牛怎么解决这个问题,jsonp的话方式我尝试了一下不好用。
请各位大牛出手了。

阅读 12.3k
10 个回答

项目框架中的 proxy 配置是你用来调试时候模拟同域的情况,这样当你把项目发布到 Java、PHP、Node.js……项目中时,可以不用修改就能正常工作。

如果是跨域,需要在服务器上配置跨域头,jsonp 应该也可以,但不管怎样都需要服务器端配合。

跨域调用可以使用 hprose,跟 vue 结合非常方便,支持协程方式编程(比 tj/co 要强大的多),而且支持许多常用语言的服务器。

修改文件:build/dev-server.js 14行

var proxyTable: {
  '/api': {
    target: 'http://api.xxxxxxxx.com',
   }
}

/api 相当于 /api target 就是代理服务武器的地址如果是ip记得带上端口。

两种方案
1,服务器配置允许跨域的响应头,对应的前端本地配置开发服务器地址
2,前端本地用代理软件代理服务器到本地开发的 host 上

请求的服务端允许跨域就可以了。

在你原来的项目里去请求另一个项目的api.
vuejs这里还是请求自己的项目.

加个header头就行了!哪来那么多麻烦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏