jQuery ajax - getScript() 方法和getJSON方法


Posted in jQuery onMay 14, 2021

实例

使用 AJAX 请求来获得 JSON 数据,并输出结果:

$("button").click(function(){
  $.getJSON("demo_ajax_json.js",function(result){
    $.each(result, function(i, field){
      $("div").append(field + " ");
    });
  });
});

 

定义和用法

通过 HTTP GET 请求载入 JSON 数据。

在 jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网域的 JSON 数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。

语法

jQuery.getJSON(url,data,success(data,status,xhr))
参数 描述
url 必需。规定将请求发送的哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
success(data,status,xhr)

可选。规定当请求成功时运行的函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态
  • xhr - 包含 XMLHttpRequest 对象

详细说明

该函数是简写的 Ajax 函数,等价于:

$.ajax({
  url: url,
  data: data,
  success: callback,
  dataType: json
});

发送到服务器的数据可作为查询字符串附加到 URL 之后。如果 data 参数的值是对象(映射),那么在附加到 URL 之前将转换为字符串,并进行 URL 编码。

传递给 callback 的返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组,并使用 $.parseJSON() 方法进行解析。

示例

从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据:

$.getJSON("test.js", function(json){
  alert("JSON Data: " + json.users[3].name);
});

 

例子 1

从 Flickr JSONP API 载入 4 张最新的关于猫的图片:

HTML 代码:

<div id="images"></div>

jQuery 代码:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?
tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){
  $.each(data.items, function(i,item){
    $("<img/>").attr("src", item.media.m).appendTo("#images");
    if ( i == 3 ) return false;
  });
});

例子 2

从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据:

$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
  alert("JSON Data: " + json.users[3].name);
});

jQuery ajax - getScript() 方法

实例

通过 AJAX 请求来获得并运行一个 JavaScript 文件:

$("button").click(function(){
  $.getScript("demo_ajax_script.js");
});

 

定义和用法

getScript() 方法通过 HTTP GET 请求载入并执行 JavaScript 文件。

语法

jQuery.getScript(url,success(response,status))
参数 描述
url 将要请求的 URL 字符串。
success(response,status)

可选。规定请求成功后执行的回调函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror")

详细说明

该函数是简写的 Ajax 函数,等价于:

$.ajax({
  url: url,
  dataType: "script",
  success: success
});

这里的回调函数会传入返回的 JavaScript 文件。这通常不怎么有用,因为那时脚本已经运行了。

载入的脚本在全局环境中执行,因此能够引用其他变量,并使用 jQuery 函数。

比如加载一个 test.js 文件,里边包含下面这段代码:

$(".result").html("<p>Lorem ipsum dolor sit amet.</p>");

通过引用该文件名,就可以载入并运行这段脚本:

$.getScript("ajax/test.js", function() {
  alert("Load was performed.");
});

注释:jQuery 1.2 版本之前,getScript 只能调用同域 JS 文件。 1.2中,您可以跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。

例子 1

加载并执行 test.js:

$.getScript("test.js");

例子 2

加载并执行 test.js ,成功后显示信息:

$.getScript("test.js", function(){
  alert("Script loaded and executed.");
});

例子 3

载入 jQuery 官方颜色动画插件 成功后绑定颜色变化动画:

HTML 代码:

<button id="go">Run</button>
<div class="block"></div>

jQuery 代码:

jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js",
 function(){
  $("#go").click(function(){
    $(".block").animate( { backgroundColor: 'pink' }, 1000)
      .animate( { backgroundColor: 'blue' }, 1000);
  });
});

 

jQuery 相关文章推荐
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
webpack写jquery插件的环境配置
Dec 21 jQuery
jQuery封装animate.css的实例
Jan 04 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
jQuery列表动态增加和删除的实现方法
Nov 05 jQuery
jquery插件实现悬浮的菜单
jquery插件实现代码雨特效
Apr 24 #jQuery
jquery插件实现搜索历史
Apr 24 #jQuery
jquery插件实现图片悬浮
jQuery实现影院选座订座效果
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
jQuery treeview树形结构应用
Mar 24 #jQuery
You might like
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
iView框架问题整理小结
2018/10/16 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
Python引用计数操作示例
2018/08/23 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python样条插值的实现代码
2018/12/17 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
.net开发工程师面试题
2014/02/25 面试题
建筑个人求职信范文
2014/01/25 职场文书
环境保护建议书
2014/08/26 职场文书
承诺保证书格式
2015/02/28 职场文书
检讨书格式范文
2015/05/07 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis