Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将值从主干发送到CodeIgniter控制器_Javascript_Codeigniter_Backbone.js - Fatal编程技术网

Javascript 如何将值从主干发送到CodeIgniter控制器

Javascript 如何将值从主干发送到CodeIgniter控制器,javascript,codeigniter,backbone.js,Javascript,Codeigniter,Backbone.js,我正在使用Backbone.js和CodeIgniter制作一个小的应用程序表单,但是我在连接到控制器时遇到了问题 有人能给我提供完整的代码吗 我的控制器名是verfylogin。我从用户那里获取了用户名和密码,我必须将其传递给控制器 $(function(){ var Credentials = Backbone.Model.extend({}); var LoginView = Backbone.View.extend({ el: $(

我正在使用Backbone.js和CodeIgniter制作一个小的应用程序表单,但是我在连接到控制器时遇到了问题

有人能给我提供完整的代码吗

我的控制器名是
verfylogin
。我从用户那里获取了用户名和密码,我必须将其传递给控制器

$(function(){

        var Credentials = Backbone.Model.extend({});

        var LoginView = Backbone.View.extend({
          el: $("#login-form"),

          events: {
            "click #login": "login"
          },

          initialize: function(){
            var self = this;

            this.username = $("#username");
            this.password = $("#password");

            this.username.change(function(e){
              self.model.set({username: $(e.currentTarget).val()});
            });

            this.password.change(function(e){
              self.model.set({password: $(e.currentTarget).val()});
            });
          },

          login: function(){
            var username= this.model.get('username');
            var password = this.model.get('password');
            console.log(username,password);
          }
        });

        window.LoginView = new LoginView({model: new Credentials()});
首先,请查看示例并测试它们,以真正了解其工作原理。另外,请看一下

API(后端)使用什么并不重要,主干通过由URL组成的REST API与后端通信

要将主干模型与端点URL链接,请重写

然后,使用主干管理视图中的事件。避免手动绑定jQuery事件

var LoginView = Backbone.View.extend({
    events: {
        "click #login": "login",
        "change #username": "onUsernameChange",
        "change #password": "onPasswordChange"
    },

    initialize: function() {
        // create the model here
        this.model = new Credentials();

        // cache jQuery object within the view
        this.$username = this.$("#username");
        this.$password = this.$("#password");
    },

    login: function() {
        // just call save to make a post request with the data.
        this.model.save();
    },

    onUsernameChange: function(e) {
        this.model.set({ username: this.$username.val() });
    },
    onPasswordChange: function(e) {
        this.model.set({ password: this.$password.val() });
    }
});

var loginView = new LoginView({ el: "#login-form" });
这样,上下文(
this
)在事件回调中可用。避免对
el
属性进行硬编码,并在初始化新视图实例时传递它

处理发送到CodeIgniter控制器的JSON数据 因为我不使用CodeIgniter,所以我将向您推荐其他资源


我理解这一点,但如何将其传递给codeigniter的控制器。(model.save)它将直接传递给控制器。我需要在控制器中指定我的url。@gopiputta我添加了有关将url放置在主干模型中的详细信息。我还添加了关于CodeIgniter的其他信息,不幸的是,我没有使用它,所以我无法提供关于它的具体帮助。
var LoginView = Backbone.View.extend({
    events: {
        "click #login": "login",
        "change #username": "onUsernameChange",
        "change #password": "onPasswordChange"
    },

    initialize: function() {
        // create the model here
        this.model = new Credentials();

        // cache jQuery object within the view
        this.$username = this.$("#username");
        this.$password = this.$("#password");
    },

    login: function() {
        // just call save to make a post request with the data.
        this.model.save();
    },

    onUsernameChange: function(e) {
        this.model.set({ username: this.$username.val() });
    },
    onPasswordChange: function(e) {
        this.model.set({ password: this.$password.val() });
    }
});

var loginView = new LoginView({ el: "#login-form" });