jQuery跨域问题解决方案


Posted in Javascript onAugust 03, 2015

通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面把具体解决方案介绍如下。

后台处理路径“/test”的函数:

//路径处理

app.get("/test",user.test);

//处理函数

exports.test=function(req,res){

    res.end("alert('JS跨域访问')");

};

 外部有一个网页需要访问路径”/test“下的内容,则可以通过JS脚本文件来跨域访问:

//处理函数

<script>

    function method(data){

        console.log(data);

    }

</script>

//跨域访问

<script src="http://localhost:3000/test"></script>

 结果会在当前的网页中弹出一个窗口:

jQuery跨域问题解决方案

jQuery中JSONP跨域访问的实现:

同样在后台有一个处理路径“/test”的函数:

//路径处理
app.get("/test",user.test);
//处理函数
exports.test=function(req,res){
 res.end("method("+JSON.stringify({mes:"跨域访问成功!"})+")");
};
 外部有一个网页需要访问路径”/test“下的内容,通过JSONP来实现跨域访问:

//引入跨域访问中的jQuery函数库
<script src="http://localhost:3000/js/jquery-1.9.1.min.js"></script>
//jQuery中JSONP跨域访问
<script>
  $.ajax({
    url:"http://localhost:3000/test",
    type:"get",
    success:function(data){
      $("body").append(data.mes);
    },
    dataType:"jsonp",
    jsonpCallback:"method"
  });
</script>

 结果会在当前的网页中显示如下信息:

jQuery跨域问题解决方案

通过上述代码我们可以看出JSOPN跨域访问和原始的JS跨域访问的不同之处是JSONP不需要写处理跨域访问的函数(例如上述方法中使用的method函数),在JSONP跨域访问时会自动帮我们创建处理跨域访问的函数。

JSONP跨域访问的优点:

1.它不像XMLHTTPRequest对象实现的AJAX请求那样受到同源策略的限制;

2.它的兼容性更好,不需要XMLHTTPRequest或ActiveX的支持;

3.在请求完成后可以通过调用callback的方法传回结果。

JSONP跨域访问的缺点:

1.它只支持GET请求而不支持POST及其他类型的请求;

2.它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

Javascript 相关文章推荐
js中if语句的几种优化代码写法
Mar 12 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
js实现简单的购物车有图有代码
May 26 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
Jul 09 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
webpack之devtool详解
Feb 10 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 #Javascript
提高jQuery性能优化的技巧
Aug 03 #Javascript
jquery简单实现幻灯片的方法
Aug 03 #Javascript
JS拖拽插件实现步骤
Aug 03 #Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 #Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 #Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 #Javascript
You might like
Apache中php.ini的设置方法
2013/02/28 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
php字符集转换
2017/01/23 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
JavaScript版代码高亮
2006/06/26 Javascript
js模拟实现Array的sort方法
2007/12/11 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python批量实现Word文件转换为PDF文件
2018/03/15 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
生物制药自我鉴定
2014/01/25 职场文书
社区学雷锋活动策划方案
2014/01/30 职场文书
优质服务口号
2014/06/11 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
自我推荐信格式模板
2015/03/24 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
工会文体活动总结
2015/05/07 职场文书
学习党章心得体会2016
2016/01/15 职场文书
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技