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动态追加页面数据以及事件委托详解
May 06 jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
jquery实现直播视频弹幕效果
Feb 25 jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
jQuery实时统计输入框字数及限制
Jun 24 jQuery
jquery实现简单每周轮换的日历
Sep 10 jQuery
jquery实现拖拽小方块效果
Dec 10 jQuery
jQuery实现手风琴特效
Jan 11 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
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
js option删除代码集合
2008/11/12 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python hook监听事件详解
2018/10/25 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
python 回溯法模板详解
2020/02/26 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
幼儿园教研活动总结
2014/04/30 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
深入探讨opencv图像矫正算法实战
2021/05/21 Python