Optimal jQuery and REST



我正在使用暴雪魔兽世界军械库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" + "&nbsp;" + data.items.back.name + "&nbsp;" + "and looks like" + "&nbsp;" + "<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   
 });

相关内容

  • 没有找到相关文章

最新更新