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 相关文章推荐
Mootools 1.2教程 输入过滤第一部分(数字)
Sep 15 Javascript
javascript URL编码和解码使用说明
Apr 12 Javascript
Js event事件在IE、FF兼容性问题
Jan 01 Javascript
20款效果非常棒的 jQuery 插件小结分享
Nov 18 Javascript
js清理Word格式示例代码
Feb 13 Javascript
iframe实用操作锦集
Apr 22 Javascript
javascript中定义类的方法汇总
Dec 28 Javascript
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
Vue2.0结合webuploader实现文件分片上传功能
Mar 09 Javascript
使用ECharts实现状态区间图
Oct 25 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
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
bootstrap table实例详解
2017/01/06 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
Python变量赋值的秘密分享
2018/04/03 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Python csv文件记录流程代码解析
2020/07/16 Python
python使用建议与技巧分享(一)
2020/08/17 Python
python自动生成证件号的方法示例
2021/01/14 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
电脑教师的教学自我评价
2013/11/26 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
党建示范点实施方案
2014/03/12 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server