全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Vue 开发模式下跨域问题

设置请求头部

  1. 后端设置请求头部Access-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: www.xxx.com
  2. 前端post请求设置withCredentials=true
  3. 这里用了axios的请求数据方法代码如下:
import axios from 'axios'
import config from '../config'
export default {
request (method, uri, data, headerConfig = {withCredentials: true}) {
if (!method) {
 console.error('API function call requires method argument')
 return
}

if (!uri) {
 console.error('API function call requires uri argument')
 return
}

let url = config.serverURI + uri

return axios({ method, url, data, ...headerConfig })
}
}

jQuery的$.ajax::

$.ajax({
type: "POST",
url: "http://www.xxx.com/api.php",
dataType: 'json',
xhrFields: {
  withCredentials: true
},
crossDomain: true
}).then((json) => {
// balabala...
})

使用nodejs做代理

  1. 上面的那种方法需要后端配合设置头部,对于我这种前端小白来讲,联调时各种不成功的报错也无从解决,所以个人比较倾向于下面这种做法,鉴于使用脚手架vue-cli创建的项目,作者已经给我提供好了解决的方法。
  2. 找到项目文件夹下的config/index.js, 里面有一行proxyTable: {}, 这里就是作者为我们留的接口, 我们添加代理规则进去
var path = require('path')
module.exports = {
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../xxx/index.html'),
assetsRoot: path.resolve(__dirname, '../xxx'),
assetsSubDirectory: 'static',
assetsPublicPath: '/',
productionSourceMap: true,
productionGzip: false,
productionGzipExtensions: ['js', 'css']
},
dev: {
env: require('./dev.env'),
port: 8080,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
 '/api': {
  target: 'http://www.xxx.com/api.php/',
  changeOrigin: true,
  pathRewrite: {
   '^/api': '/'
  }
 }
},
cssSourceMap: false
}
}

这里target为目标域名,pathRewrite为转换规则,请求数据时将接口地址 根据转换规则请求就可以解决跨域啦!(这里也可以配置headers,设置cookis,token等)

jsonp

jsonp也是一种解决跨域的方法,不过我从来没有用过,在网上查了下资料,jsonp的原理是script标签引入js是不受域名限制的, 由于是模拟插入script标签, 所以不可以用post请求。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 开发跨域 


相关文章: 儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何选择高性价比服务器搭建个人网站?  平台云上自助建站如何快速打造专业网站?  b2c电商网站制作流程,b2c水平综合的电商平台?  c++怎么用jemalloc c++替换默认内存分配器【性能】  网站制作公司排行榜,四大门户网站排名?  网站制作网站,深圳做网站哪家比较好?  如何制作网站标识牌,动态网站如何制作(教程)?  建站主机选购指南:核心配置与性价比推荐解析  如何用wdcp快速搭建高效网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  定制建站哪家更专业可靠?推荐榜单揭晓  建站之星CMS五站合一模板配置与SEO优化指南  在线制作视频网站免费,都有哪些好的动漫网站?  宝塔面板如何快速创建新站点?  ,sp开头的版面叫什么?  网站制作新手教程,新手建设一个网站需要注意些什么?  如何选择适合PHP云建站的开源框架?  完全自定义免费建站平台:主题模板在线生成一站式服务  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何快速搭建高效可靠的建站解决方案?  如何快速启动建站代理加盟业务?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  建站10G流量真的够用吗?如何应对访问高峰?  建站之星备案是否影响网站上线时间?  建站主机无法访问?如何排查域名与服务器问题  相册网站制作软件,图片上的网址怎么复制?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何用IIS7快速搭建并优化网站站点?  智能起名网站制作软件有哪些,制作logo的软件?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  如何高效配置香港服务器实现快速建站?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  *服务器网站为何频现安全漏洞?  建站主机如何选?性能与价格怎样平衡?  建站与域名管理如何高效结合?  做企业网站制作流程,企业网站制作基本流程有哪些?  制作农业网站的软件,比较好的农业网站推荐一下?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  网站按钮制作软件,如何实现网页中按钮的自动点击?  建站之星展会模版如何一键下载生成?  如何在香港免费服务器上快速搭建网站?  Swift中循环语句中的转移语句 break 和 continue  建站之星安装模板失败:服务器环境不兼容?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  Android滚轮选择时间控件使用详解  建站主机选购指南与交易推荐:核心配置解析  建站主机类型有哪些?如何正确选型  网站制作培训多少钱一个月,网站优化seo培训课程有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。