我在Backbone.js中有这个代码,我试图动态创建一个URL并从控制器调用一个返回JSON数据的函数。 出于某种原因,在最后执行fetch()方法时,浏览器中的URL不会更改。 我在我的getdata()函数中放了一个console.log来查看调用是否正在发生,而且确实如此。此外,我已经尝试使用最后的参数console.log新的构建URL,并且这也是成功构建的。 任何想法为什么URL在浏览器中没有变化?
谢谢
getUrl: function(celebname){
var urlstr = "http://localhost/Codeigniter/index.php/testcontroller/getdatabasedata?searchvalue="+celebname;
return urlstr;
},
events: {
"click #submitbtn" : "getdata",
},
getdata: function (event) {
var celebname = $('#celebname').val();
this.model.url = this.getUrl(celebname);
this.model.fetch();
},
答案 0 :(得分:0)
Backbone将始终尝试使用收集网址,因此,如果您想要fetch
或save
,则应使用新网址明确保存模型。
尝试覆盖模型中的url,如下所示:
var newUrl = this.getUrl(celebname);
this.model.save({}, { url: newUrl});
而不仅仅是设置this.model.url = this.getUrl(celebname);