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 相关文章推荐
javascript笔记 String类replace函数的一些事
Sep 22 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
浅析JavaScript 调试方法和技巧
Oct 22 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
package.json文件配置详解
Jun 15 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
利用d3.js力导布局绘制资源拓扑图实例教程
Jan 08 Javascript
Vue中错误图片的处理的实现代码
Nov 07 Javascript
一道JS算法面试题——冒泡、选择排序
Apr 21 Javascript
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
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
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
js查找父节点的简单方法
2008/06/28 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
基本DOM节点操作
2017/01/17 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
提升Python程序运行效率的6个方法
2015/03/31 Python
Python 中的 else详解
2016/04/23 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
django基础学习之send_mail功能
2019/08/07 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
全球性的在线商店:Vogca
2019/05/10 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
销售会计工作职责
2013/12/02 职场文书
办公室前台岗位职责范本
2013/12/10 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
个人查摆剖析材料
2014/10/04 职场文书
女生抽烟检讨书
2014/10/05 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
结婚主持人致辞
2015/07/28 职场文书