全网整合营销服务商

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

免费咨询热线: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  # 开发跨域 


相关文章: 如何在建站之星网店版论坛获取技术支持?  如何在Golang中使用replace替换模块_指定本地或远程路径  香港网站服务器数量如何影响SEO优化效果?  ui设计制作网站有哪些,手机UI设计网址吗?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  建站之星展会模板:智能建站与自助搭建高效解决方案  婚礼视频制作网站,学习*后期制作的网站有哪些?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  ,网页ppt怎么弄成自己的ppt?  Bpmn 2.0的XML文件怎么画流程图  如何在阿里云购买域名并搭建网站?  如何在七牛云存储上搭建网站并设置自定义域名?  建站上市公司网站建设方案与SEO优化服务定制指南  建站主机选购指南:核心配置与性价比推荐解析  详解jQuery停止动画——stop()方法的使用  独立制作一个网站多少钱,建立网站需要花多少钱?  建站VPS能否同时实现高效与安全翻墙?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  XML的“混合内容”是什么 怎么用DTD或XSD定义  攀枝花网站建设,攀枝花营业执照网上怎么年审?  定制建站方案优化指南:企业官网开发与建站费用解析  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  在线教育网站制作平台,山西立德教育官网?  建站之星安装后如何自定义网站颜色与字体?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  宝塔建站后网页无法访问如何解决?  建站之星上传入口如何快速找到?  网站企业制作流程,用什么语言做企业网站比较好?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  已有域名如何快速搭建专属网站?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  b2c电商网站制作流程,b2c水平综合的电商平台?  如何快速查询网站的真实建站时间?  如何在IIS中新建站点并解决端口绑定冲突?  微信小程序 五星评分(包括半颗星评分)实例代码  建站为何优先选择香港服务器?  教学论文网站制作软件有哪些,写论文用什么软件 ?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  无锡营销型网站制作公司,无锡网选车牌流程?  大同网页,大同瑞慈医院官网?  如何通过wdcp面板快速创建网站?  如何将凡科建站内容保存为本地文件? 

您的项目需求

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