在优雅的jquery框架下,很快地实现了将我馆的和厦大馆的随书光盘整合到innovative系统的opac中,接下来会加快电子期刊、电子图书及网络资源的整合。
效果页面:
Tags: Ajax, getJSON, jQuery, JSON, 整合, 随书光盘
和厦大图书馆共通随书光盘有无,通过json来实现数据传递。
json样例(肖同学提供,严重感谢~):
({
”title”:”Title is here”,
”url”:”Url is here”
})
jquery处理样例:
需要注意的是上面回调的参数用callback,而不是jsoncallback。
jQuery是一个更为好用的javascript框架,偶已经决定将其应用到实践中。对于跨域,jQuery可以通过getJSON()方法,以HTTP GET 请求的方式载入 JSON 数据,从而提供了较prototype更简便的解决方案。
在 jQuery 1.2 中,您可以通过使用JSONP(JSON with Padding,或者JSON with callbacks) 形式的回调函数来加载其他网域的JSON数据,如 “myurl?callback=?”。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。(ps:此行以后的代码将在这个回调函数执行前执行)
jQuery.getJSON(url,[data],[callback])
参数:
url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 载入成功时回调函数。
示例:
从 Flickr JSONP API 载入 4 张最新的关于猫的图片。
HTML 代码:
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){
$(”“).attr(”src”, item.media.m).appendTo(”#images”);
if ( i == 3 ) return false;
});
});
——————————————————————————–
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
$.getJSON(”test.js”, function(json){
alert(”JSON Data: ” + json.users[3].name);
});
——————————————————————————–
从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
$.getJSON(”test.js”, { name: “John”, time: “2pm” }, function(json){
alert(”JSON Data: ” + json.users[3].name);
});
本文数据及样例来自:http://jquery-api-zh-cn.googlecode.com/svn/trunk/index.html