本文实例讲述了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代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery操作json数据技巧汇总》、《jQuery form操作技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery表格(table)操作技巧汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
本文向大家介绍AJAX实现跨域的三种方法(代理,JSONP,XHR2),包括了AJAX实现跨域的三种方法(代理,JSONP,XHR2)的使用技巧和注意事项,需要的朋友参考一下 域: 域是WIN2K网络系统的安全性边界。我们知道一个计算机网最基本的单元就是“域”,这一点不是WIN2K所独有的,但活动目录可以贯穿一个或多个域。在独立的计算机上,域即指计算机本身,一个域可以分布在多个物理位置上,同时一个
本文向大家介绍jquery+thinkphp实现跨域抓取数据的方法,包括了jquery+thinkphp实现跨域抓取数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery+thinkphp实现跨域抓取数据的方法。分享给大家供大家参考,具体如下: 今天做一个远程抓取数据的功能,记得jquery可以用Ajax远程抓取,但不能跨域。再网上找了很多。但我觉得还是来个综合的,所以我现
本文向大家介绍跨域请求两种方法 jsonp和cors的实现,包括了跨域请求两种方法 jsonp和cors的实现的使用技巧和注意事项,需要的朋友参考一下 在网站后台跨域访问另一服务器时,若被访问服务器未设置response[‘Access-Control-Allow-Origin'] = ‘*' 那么将无法获取。 jsonp方法 伪造ajax提交请求 请求端 服务端 jsonp获电视台节目案例 取到
本文向大家介绍Ajax的jsonp方式跨域获取数据的简单实例,包括了Ajax的jsonp方式跨域获取数据的简单实例的使用技巧和注意事项,需要的朋友参考一下 jsonp的调用,今天碰到了,正好整理了一下。 以上这篇Ajax的jsonp方式跨域获取数据的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍通过jsonp获取json数据实现AJAX跨域请求,包括了通过jsonp获取json数据实现AJAX跨域请求的使用技巧和注意事项,需要的朋友参考一下 AJAX(异步的 JavaScript 和 XML)是用于创建快速动态网页的一种技术,它在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,ajax 使用XMLHttpRequest对象在后台与服务器交换数据,XMLHttpR
本文向大家介绍js实现跨域访问的三种方法,包括了js实现跨域访问的三种方法的使用技巧和注意事项,需要的朋友参考一下 javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档属性,下面将列出三种实现javascript跨域方法: 1.基于iframe实现跨域 基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特