jQuery.getJSON() 语法与使用方法
jquery.getjson() 语法与使用方法
jquery.getjson( url, [ data ], [ callback(data, textstatus) ] ) returns: xmlhttprequest
urla string containing the url to which the request is sent.
dataa map or string that is sent to the server with the request.
callback(data, textstatus)a callback function that is executed if the request succeeds
$.ajax({
url: url,
datatype: 'json',
data: data,
success: callback
});
回调是通过返回的数据,这将是一个网页特效对象或数组定义的json的结构和解析使用$。parsejson()方法。
大多数实现将指定一个成功的处理程序:
$.getjson('ajax/test.json', function(data) {
$('.result').html('<p>' + data.foo + '</p>'
+ '<p>' + data.baz[1] + '</p>');
});
这个例子,当然,依靠文件对json的结构:
{
"foo": "the quick brown fox jumps教程 over the lazy dog.",
"bar": "abcdefg",
"baz": [52, 97]
}
使用这种结构,例如插入第一个字符串,从第二到页面文件数量。
重要的是:在jquery 1.4,如果文件包含一个json的语法错误,请求通常会失败提示。避免频繁的手工编辑的json数据是这个原因。 json是一种与那些比javascript的对象的文字符号更严格的语法规则的数据交换格式。例如,所有在json字符串表示,无论是属性或值,必须用双引号括起来。有关的json格式的细节,见http://json.org/。
jsonp
如果url包含字符串“回调=?”在url中,请求被视为jsonp代替。见jsonp的数据类型进行讨论,$。阿贾克斯()以获取更多详情。
其他注意事项:
由于浏览器的安全限制,大多数“ajax”的要求,均采用同一来源的政策;的请求不能成功地检索从不同的域,子域,或协议数据。
脚本和jsonp请求不会受到同样的限制政策的起源
<!doctype html>
<html>
<head>
<style>img{ height: 100px; float: left; }</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div id="images"></div>
<script>$.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;
});
});</script></body>
</html>
补充:网页制作,jquery