Javascript 使用特定的ajax调用设置集合获取
我需要创建一个集合,但我需要通过这个集合获取,不是通过它的url,而是通过内部的特定ajax调用。有可能吗?我试图更好地解释:在正常情况下,当通过集合获取时,获取使用集合中的url,但我需要通过ajax调用而不是url使用结果Javascript 使用特定的ajax调用设置集合获取,javascript,ajax,backbone.js,Javascript,Ajax,Backbone.js,我需要创建一个集合,但我需要通过这个集合获取,不是通过它的url,而是通过内部的特定ajax调用。有可能吗?我试图更好地解释:在正常情况下,当通过集合获取时,获取使用集合中的url,但我需要通过ajax调用而不是url使用结果 $.ajax({ type: 'GET', headers: {'X-Parse-Application-Id':'qS0KLM***EM1tyhM9EEPiTS3VMk','X-Parse- REST-API-Key':'nh3eoUo9G8Df****vbF2gMh
$.ajax({
type: 'GET',
headers: {'X-Parse-Application-Id':'qS0KLM***EM1tyhM9EEPiTS3VMk','X-Parse-
REST-API-Key':'nh3eoUo9G8Df****vbF2gMhcKJIfIt1Gm'},
url: "https://api.parse.com/1/classes/_User/",
data: 'where={"amici":
{"__type":"Pointer","className":"_User","objectId":"g0fRKnrgZN"}}',//restituisce chi ha
negli amici l'id objectId
//contentType: "application/json",
success: function(data) {
console.log(data );
},
error: function(data) {
console.log("ko" );
}
});
我需要通过基于此ajax调用的提取创建我的集合。选项1)覆盖当前集合中的提取:
fetch: function(options) {
// your extra code
//..
// maintain the return below if want to preserve the original fetch
//return Backbone.Collection.prototype.fetch.call(this, options);
},
选项2)如果要将其用于所有收藏:
将Backbone.Collection
扩展到新对象YourCollection
,并覆盖此新对象中的获取。现在,您的新收藏可以扩展您的收藏,而不是主干。收藏
PS如果需要,还可以修改ajax调用:
var ajax = $.ajax;
$.ajax = function(url, options) {
//your code
return ajax.call(this, url, options);
};
您可以通过以下方式覆盖fetch call的任何选项:
yourCollection.fetch({url: newUrl})
或者您可以使用如下构造:
yourCollection.fetch = function(options) {
return this.constructor.__super__.fetch.call(this, _.extend({url: newUrl}, options));
};
例如,如果要覆盖整个视图中的yourCollection
的fetch调用。然后在此视图中,您将能够只使用yourCollection.fetch()
,而不使用newUrl
参数
希望对您有用。您能提供一些代码让我们更好地了解您想要完成的任务吗?如果我想返回ajax结果?