我正在使用暴雪魔兽世界军械库API编写代码。 这很平静,但我想知道我的代码是否是最佳的,我可以做些什么来改进它?它工作正常,我只需要确保我是否充分利用了数据获取。
这是基本的 HTML
<div id="title">Test</div>
<div id="chevoPoints">Test</div>
<div id="stat">Test</div>
<div id="realm">Test</div>
<div id="race">Test</div>
<div id="items">Test</div>
<img id="thumbnail" src="" />
这是爪哇
$(document).ready(
//Fetch RESTful data
function getSite(){
$.ajax({
url: "http://eu.battle.net/api/wow/character/server/character?fields=titles,achievements,appearance,feed,stats,races,items&jsonp=GoGet",
type: 'GET',
dataType: 'jsonp'
});
}
);
//Display the data
function GoGet(data) {
$("#title").html(data.name),
$("#chevoPoints").html(data.achievementPoints),
$("#stat").html(data.stats.armor),
$("#realm").html(data.realm),
$("#race").html(data.race),
$("#items").html("The back is called" + " " + data.items.back.name + " " + "and looks like" + " " + "<img src=http://media.blizzard.com/wow/icons/56/" + data.items.back.icon + ".jpg />"),
$("#thumbnail").attr('src', "http://eu.battle.net/static-render/eu/" + data.thumbnail)
;}
它看起来很安静,尽管我至少添加了几件事:
data: {format: 'json' }, //or any other format the data wil return
error: { function(){alert('Something went wrong');} //error-handling, what happens when no data was retrieved
然后,根据您要执行的操作,您还可以在请求中添加一些缓存等。可以在此处找到有关所有可选参数的良好阅读:http://www.sitepoint.com/use-jquerys-ajax-function/。
编辑:如果你的成功响应有多个项目,你可以像这样循环访问它们:
success: function (response) {
//your list
var t = $("<ul id='nameList'></ul>");
//loop through the different items
for (var i=0; i<response.d.length; i++) {
//for each item you do stuff here, for example, wrap the name in a list-item
i.name.appendTo(t).wrap("<li></li>")
});
您也可以使用 $.each 执行此操作
succes: $.each(response, function(index, data){
//do stuff
});