jQuery使用JSONP实现跨域获取数据的三种方法详解
程序员文章站
2023-11-27 19:29:40
本文实例讲述了jquery使用jsonp实现跨域获取数据的三种方法。分享给大家供大家参考,具体如下:
第一种方法是在ajax函数中设置datatype为'jsonp'...
本文实例讲述了jquery使用jsonp实现跨域获取数据的三种方法。分享给大家供大家参考,具体如下:
第一种方法是在ajax函数中设置datatype为'jsonp'
$.ajax({ datatype: 'jsonp', url: 'http://www.a.com/user?id=123', success: function(data){ //处理data数据 } });
第二种方法是利用getjson来实现,只要在地址中加上callback=?参数即可
$.getjson('http://www.a.com/user?id=123&callback=?', function(data){ //处理data数据 });
第三种方法是使用getscript方法
//此时也可以在函数外定义foo方法 function foo(data){ //处理data数据 } $.getscript('http://www.a.com/user?id=123&callback=foo');
实例演练:
index.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jsonp</title> <script src="jquery-1.8.0.min.js"></script> <script> $.ajax({ type : "post", url : "jsonp.php?name=zhaoxiace&age=30", datatype : "jsonp", jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpcallback:"callbackfunction",//自定义的jsonp回调函数名称,默认为jquery自动生成的随机函数名 success : function(data){ console.log(data.statuscode + "/" + data.message + "/" + data.name + "/" + data.age); }, error:function(){ alert('请求失败'); } }); </script> </head>
jsonp.php
<? $data["age"] = $_get['age']; $data["name"] = $_get['name']; $data["statuscode"]="200"; $data["message"]="成功"; $tmp= json_encode($data); //json数据 echo $callback . '(' . $tmp .')'; //返回格式,必需 ?>
ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线json代码检验、检验、美化、格式化工具:
json在线格式化工具:
在线xml/json互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery操作json数据技巧汇总》、《jquery form操作技巧汇总》、《jquery常用插件及用法总结》、《jquery扩展技巧总结》、《jquery表格(table)操作技巧汇总》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。
下一篇: Java解析XML的四种方法详解
推荐阅读
-
jQuery使用JSONP实现跨域获取数据的三种方法详解
-
jQuery使用JSONP实现跨域获取数据的三种方法详解
-
AngularJS实现的JSONP跨域访问数据传输功能详解
-
使用jsonp实现跨域获取数据实例讲解
-
jquery的ajax和getJson跨域获取json数据的实现方法
-
使用jquery的jsonp如何发起跨域请求及其原理详解
-
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
-
AJAX请求数据及实现跨域的三种方法详解
-
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
-
在Ajax中使用Flash实现跨域数据读取的实现方法_javascript技巧