gpt4 book ai didi

javascript - BackBone 集合获取参数进行重复调用但不起作用

转载 作者:行者123 更新时间:2023-12-03 10:36:14 27 4
gpt4 key购买 nike

Backbone 模型

define('PreferedDealerAddress.Model', function (){
'use strict';

return Backbone.Model.extend( {
urlRoot: '/c.3927030/mazda-mstore-checkout-1-0/service/PreferedDealerAddress.ss'

} );
});

主干集合

define('PreferedDealerAddress.Collection', ['PreferedDealerAddress.Model'], function (Model)
{
'use strict';

return Backbone.Collection.extend(
{
model: Model
, url: '../mazda-mstore-checkout-1-0/service/PreferedDealerAddress.ss'

, initialize: function(){
this.fetch({
success: this.fetchSuccess,
error: this.fetchError
});
},

fetchSuccess: function (collection, response) {
console.log('Collection fetch success', response);
console.log('Collection models: ', collection.models);
},

fetchError: function (collection, xhr, options) {
console.log(xhr.responseText);
throw new Error("Books fetch error");

}
} );
});

现在,在路由器中,我正在创建主干集合,并通过传递参数/查询字符串(如 belwo)来调用获取函数

var search_params = {
'zip': zip
};

new PreferedDealerAddress.Collection().fetch({data: $.param(search_params)});

但是它正在进行两个 AJAX 调用,第一个是/mazda-mstore-checkout-1-0/service/PreferedDealerAddress.ss/mazda-mstore-checkout-1-0/service/PreferedDealerAddress.ss?zip=92618

考虑到第一个 AJAX 调用的 fetch 方法,由于缺少查询参数,该调用返回一个空白 JSON 数组。

下面是 firebug 的屏幕截图。 enter image description here

请帮助我,我可以使用 $.getJson() 并初始化集合,但这不是正确的方法。

最佳答案

这实际上很简单。您的第一次获取是在初始化方法中 - 没有数据参数的方法:

, initialize: function(){
this.fetch({
success: this.fetchSuccess,
error: this.fetchError
});
},

那么您的第二个请求是当您实例化包含数据参数的集合时。

所以你只需要在初始化中去掉 fetch 即可。

关于javascript - BackBone 集合获取参数进行重复调用但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com