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 相关文章推荐
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
js中if语句的几种优化代码写法
Mar 12 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
简述AngularJS相关的一些编程思想
Jun 23 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
Vue组件开发初探
Feb 14 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
vue实现简易的双向数据绑定
Dec 29 Vue.js
js中延迟加载和预加载的具体使用
Jan 14 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安装攻略:常见问题解答(三)
2006/10/09 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
PHP如何使用Memcached
2016/04/05 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
python实现两个文件夹的同步
2019/08/29 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
openCV提取图像中的矩形区域
2020/07/21 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
两年的个人工作自我评价
2014/01/10 职场文书
心理健康教育制度
2014/01/27 职场文书
简历上的自我评价
2014/02/03 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
人力资源求职信
2014/05/25 职场文书
政府采购方案
2014/06/12 职场文书
节能环保演讲稿
2014/08/28 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
工作态度怎么写
2015/06/25 职场文书
导游词之江西赣州
2019/10/15 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL