gpt4 book ai didi

javascript - Backbone.js 将 url 参数传递给集合

转载 作者:行者123 更新时间:2023-12-02 19:26:57 24 4
gpt4 key购买 nike

我正在使用测试 .json 文件,并且可以成功地 console.log url,但我现在尝试将参数附加到 url,但它们被忽略。

这就是 View 的样子,工作正常,成功消息与测试 json 文件一起出现:

busImportSearch: function() {
importSelect.fetch({
data: {
importPhone: '5555555555',
busImportName: 'test business',
busImportCID: '12345',
busImportBID: '1234567890'
},
success: function(results) {
// url console.log's fine just no params
}
});
}

这是我收藏的:

var importSelect = Backbone.Collection.extend({
model: importModel,

url:'somepath/test.json',

sync: function(method, model, options) {
options.timeout = 10000;
options.dataType = "json";
return Backbone.sync(method, model, options);
},

parse: function(response) {
console.log(this.url);
if (typeof response.data !== 'undefined') {
this.result = response.data.list;
}
return this.result;
},
});

return new importSelect;
});

编辑

我认为这是可行的,但我认为有更好的方法来做到这一点:

url: function() {
var busimportPhone = $("#busImportPhone").val();
var busImportName = $("#busImportName").val();
var busImportCID = $("#busImportCID").val();
var busImportBID = $("#busImportBID").val();
var updateUrl = 'test.json' + '?importPhone=' + busimportPhone + '&importName=' + busImportName + '&importCID=' + busImportCID + '&importBID' + busImportBID; return updateUrl;
},

最佳答案

这并没有好多少,但您可以将属性列表存储在集合中的某个位置,并从那里创建 url。例如。

importSelect.myDataList = {
importPhone: '5555555555',
busImportName: 'test business',
busImportCID: '12345',
busImportBID: '1234567890'
};
importSelect.fetch({ ... });

并使用类似的函数构建您的网址(代码未测试)

function constructUrl(data) {
var result = "";
var count = 0;
for(var i in data) {
var prefix = "&";
if(count == 0) {
prefix = "?";
}
result += prefix + i + "=" + data[i];
}
return result;
}

并使用函数创建Url

...
url: function() {
return constructUrl(this.data);
}

希望有帮助。

关于javascript - Backbone.js 将 url 参数传递给集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944569/

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