繁体   English   中英

Backbone.js的获取方法不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM