jQuery ajax - getScript() 方法和getJSON方法
2016-07-30 09:03
423 查看
实例
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); }); }); });
定义和用法
在 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({ url: url, data: data, success: callback, dataType: json });
发送到服务器的数据可作为查询字符串附加到 URL 之后。如果 data 参数的值是对象(映射),那么在附加到 URL 之前将转换为字符串,并进行 URL 编码。
传递给 callback 的返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组,并使用 $.parseJSON() 方法进行解析。
示例
$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});[/code]
例子 1
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;
});
});
[/code]
例子 2
$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});[/code]
jQuery ajax - getScript() 方法
实例
$.getScript("demo_ajax_script.js");
});
定义和用法
语法
jQuery.getScript(url,success(response,status))
参数 | 描述 |
---|---|
url | 将要请求的 URL 字符串。 |
success(response,status) | 可选。规定请求成功后执行的回调函数。额外的参数:response - 包含来自请求的结果数据 status - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror") |
详细说明
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
例子 2
$.getScript("test.js", function(){
alert("Script loaded and executed.");
});
例子 3
<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动画效果(show与hide/toggle/slideUp/slideToggle/fadeIn/fadeTo)
- 避免jQuery名字冲突 noConflict()方法
- jquery 性能优化
- jQuery Mobile 自定义导航条图标
- 自定义jQuery Mobile工具栏按钮
- jQuery 选择器
- jQuery 删除行(带跨行的表格)
- jQuery浏览器兼容模块support详解
- delay()--一个很常用的jquery方法,制作页面动画效果的利器
- focus()和blur()--jquery的表单元素常用方法
- 避免jQuery名字冲突--noConflict()方法
- jquery ajax 实例
- jquery遍历函数.li ???
- JQuery动画效果
- 基于jQuery的插件
- JQuery Uploadify v3.2.1 上传图片并预览(基于spring mvc框架开发)
- 创建JQuery检测元素是否含有指定属性hasAttr的原型
- 【代码笔记】HTML+CSS+JAVAScript+jQuery滑过图标下滑列表
- JQuery对选择器的筛选API
- JQuery DOM操作、 事件和动画