2012-12-27 26 views
0

我是jquery和javascript的新手。在这里我有一个代码,它使用twitter获取推文;搜索api。可以哟请告诉我为什么在.done()之后我们将参数“响应”传递给函数?这是如何工作的?使用“响应”从搜索API获取推文

$('#input').submit(function(e){ 
     e.preventDefault(); 
     e.stopPropagation(); 
      var hashtag = $(this).find('input[name="hashtag"]').val(); 
      var twitterapi = "http://search.twitter.com/search.json?"; 
      jQuery.ajax({ 
       type: "GET", 
       url: twitterapi, 
       data: { 
       "q": hashtag, 
       "rpp": 1000 
       }, 
       dataType: 'jsonp' 
      }).done(function (response) { 
       var results = response.results; 
       for (var i = 0; i < results.length; i++) { 
       $("#tweet").append("<p class='tweet'>" + 
        "<span class='username'>" + 
        results[i].from_user + 
        "</span> <span class='tweet_content'> " + 
        results[i].text + "</span></p>"); 
       } 
      }); 

回答

0

在done函数中,添加一个函数参数,也称为回调函数。 .done是异步调用,一旦叽叽喳喳服务器接收到调用,结果 在回调函数中传递(函数在.done()中)。响应数据在响应变量中返回 。

+0

所以“响应”一词代表来自twitter的数据?我可以改变任何事情吗?或者它只能是回应? – user1263375

+0

您无法更改任何关于回复的信息,repsonse包含来自twitter的数据。哦,你可以把它命名为'twitterresponse'等任何你想要的东西。 – specialscope