JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
发布时间 - 2026-01-11 03:23:17 点击率:次通过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跨域原理的深入讲解
# 的是
# 要用
# 都不
# 大家都
# 则是
# 不可以
# 将以
# 人人都
# 最简单
# 时要
# 多加
# 弄清楚
# 服务端
# 读懂
# 实际应用
# 时需
# 而不是
# 有两点
# 没关系
# 对此
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Python3.6正式版新特性预览
如何快速搭建高效简练网站?
Laravel如何优化应用性能?(缓存和优化命令)
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
JavaScript实现Fly Bird小游戏
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
C#如何调用原生C++ COM对象详解
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
如何正确选择百度移动适配建站域名?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
javascript日期怎么处理_如何格式化输出
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel如何使用Livewire构建动态组件?(入门代码)
Python文件操作最佳实践_稳定性说明【指导】
如何快速选择适合个人网站的云服务器配置?
java中使用zxing批量生成二维码立牌
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何在阿里云完成域名注册与建站?
微信小程序 input输入框控件详解及实例(多种示例)
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
怎么用AI帮你为初创公司进行市场定位分析?
Laravel集合Collection怎么用_Laravel集合常用函数详解
JavaScript如何实现继承_有哪些常用方法
JS弹性运动实现方法分析
公司门户网站制作流程,华为官网怎么做?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
青岛网站建设如何选择本地服务器?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
iOS发送验证码倒计时应用
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
免费视频制作网站,更新又快又好的免费电影网站?
Mybatis 中的insertOrUpdate操作
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何快速配置高效服务器建站软件?
网站制作壁纸教程视频,电脑壁纸网站?
微信推文制作网站有哪些,怎么做微信推文,急?
进行网站优化必须要坚持的四大原则
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
详解Android——蓝牙技术 带你实现终端间数据传输
如何在建站主机中优化服务器配置?
如何在阿里云香港服务器快速搭建网站?

