2013-02-13 26 views
0

我有$ .getJSON調用,通過使一個Web API調用填充的集合:

$.getJSON("/api/rating", self.ratings); 

我怎麼會重寫,如果我想添加一些在$中的選項。 ajax如beforeSend,數據,成功等?

編輯:我已經試過這兩個和沒有警報被擊中:

$.getJSON("/api/rating") 
       .beforeSend(function (xhr) { 
        alert("before"); 
        $('#divLoading').addClass('ajaxRefresh'); 
        xhr.setRequestHeader('X-Client', 'jQuery'); 
       }) 
       .success(function (result) { 
        alert(result); 
        self.ratings = result; 
       }) 
       .complete(function (result) { 
        alert("complete"); 
        $('#divLoading').removeClass('ajaxRefresh');; 
       }) 
       .error(function() { 
        alert("error"); 
       }); 

$.getJSON("/api/rating", self.ratings) 
      .beforeSend(function (xhr) { 
       alert("before"); 
       $('#divLoading').addClass('ajaxRefresh'); 
       xhr.setRequestHeader('X-Client', 'jQuery'); 
      }) 
      .success(function (result) { 
       alert(result); 
       self.ratings = result; 
      }) 
      .complete(function (result) { 
       alert("complete"); 
       $('#divLoading').removeClass('ajaxRefresh');; 
      }) 
      .error(function() { 
       alert("error"); 
      }); 
+1

看到這個:http://stackoverflow.com/questions/1812585/beforesend-in-getjson – Jai 2013-02-13 18:02:29

+0

如果你想使用beforeSend等人,你不能使用$ .getJSON,因爲.getJSON只是一個簡短的函數,調用$ .ajax函數。因此,請在下面查看我的答案 – Rickard 2013-02-14 08:10:04

回答

1

$ .getJSON是一個簡寫:

$.ajax({ 
    dataType: "json", 
    url: url, 
    data: data, 
    success: success 
}); 

所以,你的樣品可以翻譯成:

$.ajax({ 
    dataType: "json", 
    url: "/api/rating", 
    data: self.ratings, 
    beforeSend: beforeSend, 
    success: function (json) { 
     // handle json 
    } 
}); 

+0

那麼self.ratings會放在哪裏? – user517406 2013-02-13 18:08:19

+0

@ user517406什麼是'self.ratings'?在這一點上它可能是數據,或者它可能是一個成功處理程序。 – 2013-02-13 18:19:22

+0

這是返回值 – user517406 2013-02-13 18:35:05

1
$.getJSON(<url>,<data>,<callback>) 
.success(function() { 

    }) 
    .error(function() { 
    }); 

編輯:

.success().error()已棄用,從而.done().fail()和應該使用。

+2

。成功和.error折舊爲.done和.fail – 2013-02-13 18:18:35