【发布时间】:2015-12-25 19:35:31
【问题描述】:
我有这个 Backbone.js 模型和视图代码,我试图从文本字段中获取一个值,并根据这个值从 REST api 获取数据。我在修改基本 URL 时遇到问题。
带有基本 URL 的模型:
var TodoItem = Backbone.Model.extend({
urlRoot : 'http://localhost/Codeigniter/index.php/testcontroller',
initialize: function(){
this.set('id', 1);
},
defaults: {
name: '',
age: ''
}
});
var todoitem = new TodoItem({name: "name"});
我设置新网址的功能:
getUrl: function(celebname){
var urlstr = "http://localhost/Codeigniter/index.php/testcontroller/getdatabasedata?searchvalue="+celebname;
return urlstr;
},
从 REST api 获取数据的函数。
getdata: function (event) {
var celebname = $('#celebname').val();
this.model.set({name: celebname});
this.model.save({}, { urlRoot: this.getUrl(celebname)});
this.model.fetch();
},
目前我收到此错误:
GET http://localhost/Codeigniter/index.php/testcontroller/1
我无法使用 getURL 函数更改基本 url 以从输入字段中搜索值。而是使用基本 url 和末尾的 id。 如果我没有在模型的初始化函数中设置 ID,则会收到此错误:
POST http://localhost/Codeigniter/index.php/testcontroller/getdatabasedata?searchvalue=Rome
根据我在网上阅读的内容,这是因为没有为模型分配 id。 如何使用 GET 方法获取输入字段值、构建 URL 和获取数据? 谢谢
【问题讨论】:
-
如果你试试 this.model.urlRoot= this.getUrl(celebname);在此行之前 this.model.save(); ?
标签: javascript php codeigniter url backbone.js