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 03 jQuery
jQuery简单绑定单个事件的方法示例
Jun 10 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
jQuery中的for循环var与let的区别
Apr 21 jQuery
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
用jQuery实现抽奖程序
Apr 12 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 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设计模式 Facade(外观模式)
2011/06/26 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
jquery 学习笔记一
2010/04/07 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
中止javascript执行的方法
2014/02/14 Javascript
javascript闭包的理解
2015/04/01 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python守护进程和脚本单例运行详解
2017/01/06 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
简单了解python元组tuple相关原理
2019/12/02 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
python如何将图片转换素描画
2020/09/08 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
中科方德软件测试面试题
2016/04/21 面试题
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
学校2014年度工作总结
2014/12/06 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
windows系统搭建WEB服务器详细教程
2022/08/05 Servers