全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码

通过JQuery可以跨域获取JSON数据,但必须弄清楚的是,JQuery不可以跨域获取任意JSON格式的数据,必须要通过服务端输出特定的针对JQuery跨域读取的JSON数据。你可能目前对此仍然毫无了解,没关系,本文将以最简单易懂的方式介绍这个技术,相信人人都容易读懂,并能够实际应用。

JQuery获取同域的JSON数据

首先引用jQuery库文件:

<script src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>

jQuery代码:

var url="http://localhost:8000/user.php";
$(function(){
 $.getJSON(url,function(data){
 alert (data.name);
})
});

服务器代码(PHP):

<?php 
header('Content-Type:text/html;Charset=utf-8'); 
$arr = array( 
 "name" => "xiaoming", 
 "pass" => "123456"
); 
echo json_encode($arr); 
?>

服务器返回字符串:

{"name":"xiaoming","pass":123456}

JQuery获取跨域的JSON数据

首先引用jQuery库文件:

<script src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>

jQuery代码:

var url="http://localhost:8000/user.php?jsoncallback=?";
$(function(){
 $.getJSON(url,function(data){
 alert (data.name);
})
});

服务器代码(PHP):

<?php 
header('Content-Type:text/html;Charset=utf-8'); 
$arr = array( 
 "name" => "xiaoming", 
 "pass" => "123456"
); 
echo $_GET['jsoncallback']."(".json_encode($arr).")"; 
?>

服务器返回字符串(需要传入参数“jsoncallback”):

jQuery19003894091040769696_1505708469340({"name":"xiaoming","pass":123456})

说明,jQuery传入值每次都不一样。

JQuery获取同域和跨域JSON数据的区别

从上述两个例子看到,JQuery获取同域和跨域JSON数据的区别有两点:

1)jQuery写法不同,跨域时要多加一个参数“jsoncallback=?”

2)服务器端返回字符串的写法不同,跨域时需要用到“'jsoncallback'”的传入值,构造的字符串格式是:jsoncallback传入值(原JSON字符串),注意要用括号把原JSON字符串包住。

总结

通过本文介绍,大家都应该明白了,要jQuery跨域读取JSON数据,首先需要在服务器端构造一个特殊的JSON字符串,否则是读取不了的,好在,构造方法十分简单,文中例子一看便懂。

jQuery + Ajax 获得跨域JSON数据

前面的例子用的是 $.getJSON 来获得跨域JSON数据,其实我们用 $.ajax 的方法也同样可以的。

首先引用jQuery库文件:

<script src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>

jQuery代码:

<script type="text/javascript"> 
$(function(){ 
 $.ajax({ 
 type: 'get', 
 url: 'http://localhost:8000/user.php?jsoncallback=?', 
 dataType: 'jsonp', 
 jsonp: "jsoncallback", 
 success: function(data) { 
  alert("用户名:"+ data.name+" 密码:"+ data.pass); 
 }
 }); 
}) 
</script>

特别注意,dataType 是 jsonp 而不是 json 。


# $.ajax  # $.getJSON  # JSON  # jquery $.getJSON()跨域请求  # jquery的ajax和getJson跨域获取json数据的实现方法  # php jq jquery getJSON跨域提交数据完整版  # 通过jquery的$.getJSON做一个跨域ajax请求试验  # jquery ajax结合thinkphp的getjson实现跨域的方法  # jQuery中getJSON跨域原理的深入讲解  # 的是  # 要用  # 都不  # 大家都  # 则是  # 不可以  # 将以  # 人人都  # 最简单  # 时要  # 多加  # 弄清楚  # 服务端  # 读懂  # 实际应用  # 时需  # 而不是  # 有两点  # 没关系  # 对此 


相关文章: 企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  javascript中的try catch异常捕获机制用法分析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  制作农业网站的软件,比较好的农业网站推荐一下?  建站之星ASP如何实现CMS高效搭建与安全管理?  详解jQuery中基本的动画方法  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在阿里云虚拟服务器快速搭建网站?  网站制作报价单模板图片,小松挖机官方网站报价?  如何快速生成可下载的建站源码工具?  安云自助建站系统如何快速提升SEO排名?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  山东云建站价格为何差异显著?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何选择高效稳定的ISP建站解决方案?  网站制作难吗安全吗,做一个网站需要多久时间?  如何在云服务器上快速搭建个人网站?  建站主机服务器选型指南与性能优化方案解析  网页设计与网站制作内容,怎样注册网站?  如何在万网ECS上快速搭建专属网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  红河网站制作公司,红河事业单位身份证如何上传?  如何选择域名并搭建高效网站?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  重庆市网站制作公司,重庆招聘网站哪个好?  如何在IIS中新建站点并配置端口与IP地址?  ,怎么用自己头像做动态表情包?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何快速搭建虚拟主机网站?新手必看指南  常州自助建站费用包含哪些项目?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何快速搭建安全的FTP站点?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  教程网站设计制作软件,怎么创建自己的一个网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  做企业网站制作流程,企业网站制作基本流程有哪些?  建站主机如何选?性能与价格怎样平衡?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  高防服务器租用指南:配置选择与快速部署攻略  简单实现Android验证码  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  简单实现Android文件上传 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。