如何快速解决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 23 jQuery
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
jquery ui sortable拖拽后保存位置
Apr 27 jQuery
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
jquery中有哪些api jQuery主要API
Nov 20 jQuery
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
php实现删除空目录的方法
2015/03/16 PHP
php中的登陆login实例代码
2016/06/20 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
Python字符串格式化的方法(两种)
2017/09/19 Python
python中subprocess批量执行linux命令
2018/04/27 Python
儿童学习python的一些小技巧
2018/05/27 Python
Python IDLE清空窗口的实例
2018/06/25 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
pandas数据处理之绘图的实现
2020/06/15 Python
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
小班评语大全
2014/05/04 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
写给同事的离职感言
2015/08/04 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
Python办公自动化解决world文件批量转换
2021/09/15 Python
django 认证类配置实现
2021/11/11 Python
MongoDB使用场景总结
2022/02/24 MongoDB
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python