如何快速解决JS或Jquery ajax异步跨域的问题


Posted in jQuery onJanuary 08, 2018

简单的概括下,解决办法有两种。

一种是jsonp方式:即在前端发送异步请求时,添加相关的jsonp设置或配置;后端则返回可供jsonp解析的格式的串。                                             

但是jsonp方式只支持get的请求方式,并且不被新浏览器版本的支持(新浏览器版本多进行OPITION请求--异步安全检查的测试的请求,所以jsonp方式无法通过),

这里就不多了解了。

一种是cros方式,优点就是更安全,能指定连接白名单,能限定请求方法(也就是支持多种请求方法),主流浏览器都支持。主要说一下实现方式,

前端:和普通异步请求一样的格式,如:

$.ajax({ 
   url :'http://localhost:8080/myProject/test' 
    type : "GET",//不局限于get 
   data:{"key1":value1,"key2":value2}, 
   async : true, 
   success : function(data) { 
    var dataObj=eval("("+data+")"); 
     console.log(dataObj); 
     
   }, 
   error : function(data) { 
    alert( "服务器连接失败 ajaxJsonp" ); 
   } 
  });

后端:主要是设置响应头参数

response.setHeader("Access-Control-Allow-Origin", "*");//设置可跨域资源共享的域名,只能设置一个具体的域名,但*可以代表所有 
response.setHeader("Access-Control-Allow-Methods","GET,POST,PUT,OPTIONS");//设置可跨域资源共享的请求方式 
  response.setHeader("Access-Control-Allow-Credentials","true"); 
  response.setHeader("Access-Control-Allow-Headers" ,"Origin, X-Requested-With, Content-Type, Accept");
jQuery 相关文章推荐
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 jQuery
jquery实现图片上传前本地预览
Apr 28 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
jquery获取img的src值实例介绍
Jan 16 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
jQuery实现图片切换效果
Oct 19 jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 #jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 #jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 #jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 #jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 #jQuery
jQuery中库的引用方法
Jan 06 #jQuery
jQuery封装animate.css的实例
Jan 04 #jQuery
You might like
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
怎么清空javascript数组
2013/05/11 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
javascript的函数作用域
2014/11/12 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
自荐信封面
2013/12/04 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
面试复试通知单
2015/04/24 职场文书
上班旷工检讨书
2015/08/15 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python