通过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小时内与您取得联系。