[英]Backbone.js fetch method is not working
我对Backbone.js相当陌生,并且试图了解它如何获取数据并将数据发布到REST api。 在下面的Codeigniter中的代码中,我试图从返回json对象的REST API中获取数据。 使用输入字段和提交按钮,我试图将值传递给控制器函数,如果在数据库模型中找到该数据,则该函数应返回json数据。 据我了解,调用fetch()时,URL应该会更改,但是当我按下提交按钮时,什么也不会发生。 尽管如果我手动输入以下格式的网址: http://localhost/Codeigniter/index.php/testcontroller/getdatabasedata?searchvalue = Rome,我确实会获取杰森数据。 我需要怎么做才能将输入字段中的值提交到控制器功能并显示结果?
谢谢
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min.js"></script>
<script language="Javascript">
$(document).ready(function () {
var TodoItem = Backbone.Model.extend({
url: function () {
var urlstr = "../../index.php/testcontroller/getdatabasedata?searchvalue="+this.get("name");
return urlstr;
},
defaults: {
name: null,
}
});
var todoitem = new TodoItem();
var TodoView = Backbone.View.extend(
{
el: '#container',
model: todoitem,
initialize: function(){
this.listenTo(this.model,"sync change", this.gotdata);
},
events: {
"click #submitbtn" : "getdata",
},
getdata: function (event) {
var celebname = $('#celebname').val();
this.model.set({name:celebname});
this.model.fetch();
},
gotdata: function () {
var age = this.model.get("age");
$('#age').html(age);
},
});
var todoView = new TodoView();
});
</script>
事件是否回答了您,当您单击“ #submitbtn”时,您可以在console.log中使用getdata()函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.