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 26 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
jQuery实现的中英文切换功能示例
Jan 11 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
详解jQuery中的prop()使用方法
Jan 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
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
JS类的封装及实现代码
2009/12/02 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python3抓取中文网页的方法
2015/07/28 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Python3常用内置方法代码实例
2019/11/18 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
党课学习思想汇报
2014/01/02 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
Python Pygame实战之塔防游戏的实现
2022/03/17 Python