Backbone.js获取方法不起作用

Backbone.js fetch method is not working

本文关键字:不起作用 方法 获取 js Backbone      更新时间:2023-09-26

我对Backbone.js相当陌生,我正在努力了解它是如何获取数据并将数据发布到RESTapi的。在下面的Codeigniter代码中,我试图从返回json对象的RESTapi中获取数据。使用一个输入字段和一个提交按钮,我试图将值传递给控制器函数,如果在数据库模型中找到数据,控制器函数应该返回json数据。据我所知,当调用fetch()时,URL应该会更改,但当我按下提交按钮时,什么都不会发生。尽管如果我手动输入以下格式的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"时,您可以在函数getdata()中使用console.log