2013-02-13 39 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