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实现Select下拉列表进行状态选择功能
Mar 30 jQuery
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 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
2020最新CPU的性能排名
2020/04/02 数码科技
一个域名查询的程序
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
PHP中用hash实现的数组
2011/07/17 PHP
php class类的用法详细总结
2013/10/17 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
更正确的asp冒泡排序
2007/05/24 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
浅说js变量
2011/05/25 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
详解vue组件基础
2018/05/04 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
python利用socketserver实现并发套接字功能
2018/01/26 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
了解一下python内建模块collections
2020/09/07 Python
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
小学语文教研活动总结
2014/07/01 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
刑事申诉状范文
2015/05/20 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers