如何快速解决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实现的背景颜色渐变动画效果示例
Mar 24 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jQueryUI Sortable 应用Demo(分享)
Sep 07 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
详解jQuery获取特殊属性的值以及设置内容
Nov 14 jQuery
jQuery实现轮播图源码
Oct 23 jQuery
jQuery实时统计输入框字数及限制
Jun 24 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 adodb操作mysql数据库
2009/03/19 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
python语言是免费还是收费的?
2020/06/15 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
中介业务员岗位职责
2014/04/09 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
优质服务口号
2014/06/11 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
工程主管竞聘书
2015/09/15 职场文书
创业计划书之家政服务
2019/09/18 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
关于 Python json中load和loads区别
2021/11/07 Python
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server