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设置图片等比例缩小的方法
Apr 29 jQuery
jquery网页加载进度条的实现
Jun 01 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
jQuery实现获取多选框的值示例
Feb 07 jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 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
3
2006/10/09 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP查询快递信息的方法
2015/03/07 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
django基础学习之send_mail功能
2019/08/07 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
维也纳通行证:Vienna PASS
2019/07/18 全球购物
大学生物业管理求职信
2013/10/24 职场文书
儿童生日会策划方案
2014/05/15 职场文书
公司合作协议范文
2014/10/01 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
红色革命电影观后感
2015/06/18 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL