jquery是运行在浏览器端的一个js
函数库,json被浏览器解析之后就是
一个js字面量(或叫做对象)
。你说拼接,是不是把两个json的数据变成一个对象?我觉得这完全没必要吧,如果你需要同时获取两个json你可以在服务器端直接把这两次请求合并为一个,这样只用一次请求
速度还快一些
。
如果你非要获取两次然后拼接成一个对象也可行。
function
callback(json){
这里写你处理最终json的代码
}
$.getjson("url1",
function(json1)
{//获取第一个json
$.getjson("url2",
function(json2)
{//回调函数中获取第二个json
var
key
for
(key
in
json2)
{//遍历第二个json对象添加到第一个json中
json1[key]
=
json2[key]
}
callback(json1)
//处理最终得到的json对象
})
})
构建数据通讯的桥梁:getJSON()getJSON(url,[data],[callback])
url (String) 发送请求地址
data (Map) (可选) 待发送 Key/value 参数
callback (Function) (可选) 载入成功时回调函数。
JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语 言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送”裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成”myurl?callback=X”这种格式,让程序执行回调函数X。
复制代码代码如下:
$.getJSON('feed.php',{
request: images,
id: 001,
size:large
}, function(json) {
alert(json.images[0].link)
//此处json就是远程传回的json对象,假设其格式如下:
//{'images' : [
// {link: images/001.jpg, x :100, y : 100},
// {link: images/002.jpg, x : 200, y 200:}
//]}
}
)
更底层的ajax()函数
虽然get()和post()函数非常简洁易用,但是对于更复杂的一些设计需求还是无法实现,比如在ajax发送的不同时段做出不同的动作等。jQuery提供一个更为具体的函数:ajax()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)