闲着没事,假期敲vue 请求数据,总结下vue跨越问题

第一种.服务器服务器不支持跨域请求

  1.当跨域无法请求的时候我们可以修改工程下config文件夹下的index.js中的dev:{}部分。

添加下面的代码:

   proxyTable: {
'/api': {
target: 'http://api.douban.com/v2',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},

将target设置为我们需要访问的域名。

2.然后在main.js中设置全局属性:

Vue.prototype.HOST = '/api'

3.我们就可以在全局使用这个域名了,如下:

var url = this.HOST + '/movie/in_theaters'
this.$http.get(url).then(res => {
this.movieList = res.data.subjects;
},res => {
console.info('调用失败');
});

第二种:服务器端支持跨域

    String data = JsonUtil.toJsonNonNull(pubXtzdBos);

    OutputStream out = response.getOutputStream(); 

    out.write(data.getBytes("UTF-8"));//以UTF-8进行编码  

    response.setHeader("Access-Control-Allow-Origin", "*");
//告诉浏览器编码方式
response.setHeader("Content-Type","text/html;charset=UTF-8" );

就是能支持跨域那就可以使用jsonp来请求了。jsonp实际上就是通过添加script标签来添加的,

请求回来的数据也是js格式。axios目前还不支持,只能自己手动创建script标签,把请求的地址赋给script标签的src属性,最后添加到head标签上,等到请求返回再把标签删掉:

   jsonpRequest: function (a, e) {
this._ajaxTimer && clearTimeout(this._ajaxTimer);
this._ajaxTimer = setTimeout(function () { var request_script = document.createElement('script');
request_script.setAttribute("id", "request_script");
request_script.src = 'http://xxxx'+'&t=' + Date.now();
window.callback = function (response) {
// 移除脚本
document.body.removeChild(document.getElementById('request_script'));
console.log(response.content);
}
document.body.appendChild(request_script);
}, 500);
},

讲真,本地开发适合第一种吧 然后可以正常使用axios进行ajax请求了,

但这样只能在开发模式下才能使用。打包部署的时候建议使用nginx做代理

,我也没有试过第二种,也是查阅资料总结的,哈哈

vue 解决axios 跨域问题的更多相关文章

  1. Vue用axios跨域访问数据

    Vue用axios跨域访问数据axios是vue-resource的替代品,vue-resource不再维护.安装axios:npm install axios使用vue-cli开发时,由于项目本身启 ...

  2. $Django 前后端之 跨域问题(同源策略) vue项目(axios跨域请求数据)

    1 跨域问题(多个域之间的数据访问) #同源策略(ip port 协议全部相同) #本站的只能请求本站域名的数据 #CORS实现(跨域资源共享) #实现CORS通信的关键是服务器.只要服务器实现了CO ...

  3. vue 使用axios 跨域请求数据的问题

    axios默认是没有jsonp 跨域请求的方法的.一般来说流行的做法是将跨域放在后台来解决,也就是后台开发人员添加跨域头信息. 例如java中的 header,response.setHeader(& ...

  4. webpack+vue解决前端跨域问题

    webpack 跨域,在这里整理了一下逻辑首先不是为了axios库来进行跨域的,而是直接通过node的webpack设置代理来完成跨域的. 先贴一条自己请求的连接 1.设置自定义域: 在config目 ...

  5. Vue 中 axios 跨域配置 (!!!配置完成需要重新运行,不然也不起作用)

    当拿到一个网址如:https://music.163.com/store/api/categorypage/list  获取数据是出现如下: 证明该网址不能非常直观的拿到数据.接下来我们试试跨域拿这个 ...

  6. vue.js vue-cli 中解决 axios 跨域调用的问题

    修改 /config/index.js 文件如下: proxyTable: { '/api': { target: 'http://chifan.local', changeOrigin: true, ...

  7. vue 解决jsonp跨域

    在Vue中使用jsonp 参考链接:https://blog.csdn.net/m0_38134431/article/details/87930647 在vue中使用vue-jsonp 参考链接:h ...

  8. vue 解决axios请求出现前端跨域问题

    vue 解决axios请求出现前端跨域问题 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问题.这就让我很难受.查询了资料原来是跨域的问题. 在正常开发中 ...

  9. axios踩坑记录+拦截器使用+vue cli代理跨域proxy+webpack打包部署到服务器

    1.小小的提一下vue cli脚手架前端调后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一道 ...

随机推荐

  1. 源码安装zabbix4.0.1

    本篇是纯粹安装zabbix4.0.1, 前提需要安装lnmp请安装 https://www.cnblogs.com/effortsing/p/9982028.html 环境准备: 一台虚拟机 192. ...

  2. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  3. python学习之面向对象(三)

    6.8 类的结构细化 6.8.1 类的私有成员 类中的私有成员包括:私有类的属性,私有对象属性,私有类方法 私有静态属性 类的内部可以访问,类的外部不可以访问,派生类中不可以访问 class A: _ ...

  4. P2085 最小函数值

    题目链接hhh:https://www.luogu.org/problemnew/show/P2085好嘛,运气真好,刚A掉序列合并,正好碰到这题,可以说是序列合并的升级版了 那么简单说一下思路,首先 ...

  5. GitHub高级搜索

     GitHub是开发目前最为活跃的开源网站和代码托管地,虽然我们经常使用GitHub,关注各种开源项目,但可能有很多人并不太了解GitHub的搜索功能的使用.GitHub提供了简单搜索和高级搜索,高级 ...

  6. python 并发编程 协程池

    协程池 from gevent.pool import Pool from gevent import monkey;monkey.patch_all() import gevent from gev ...

  7. vs资源视图加载失败

    原因:引用了未知的资源,通过打开时报的错可以定位然后修改

  8. HTTP协议的概念作用和特点

    Web交互的基本流程 请求:客户端根据服务器地址把数据发送给服务器的过程叫请求. 相应:服务器将请求的处理结果发送给浏览器的过程叫响应. 什么是HTTP? 概念:超文本传输协议. HTTP有什么作用? ...

  9. priority_queue的常见用法

    priority_queue的常见用法 priority_queue是什么? 优先队列 底层实现用堆来实现 每次队首的优先级最大 priority_queue的定义 引入头文件 # include & ...

  10. Mysql 事件记录 | performance_schema全方位介绍

    Mysql 事件记录 | performance_schema全方位介绍 | 导语 在上一篇 初相识|performance_schema全方位介绍 中,我们详细介绍了performance_sche ...