【问题标题】:Which method is best to pass data from view to controller codeigniter?哪种方法最好将数据从视图传递到控制器代码点火器?
【发布时间】:2017-09-27 16:21:17
【问题描述】:

我正在使用 codeigniter 3,我是 codeigniter 的新手。我想问哪种方法更适合将数据从视图传递到控制器,使用jquery或<form action="controller/method">

我正在尝试使用 jquery 传递数据,但它没有给出任何响应并且不会显示错误。 jquery代码给出:

function registration()
    {            
        var txtemail = document.getElementById("email").value;
        $.post("<?php echo site_url('Home/registration'); ?>", {checkEmail: txtemail, action: "registerUser"},
        function(data) {                
            var result = data + "";
            if (result.lastIndexOf("Success") > -1) {

            } else {
                var txtUser = document.getElementById("username").value;
                var txtContact = document.getElementById("contact").value;
                var txtEmail = document.getElementById("email").value;
                var txtpincode = document.getElementById("pincode").value;
                var txtCity = document.getElementById('city').value;
                var txtState = document.getElementById('state').value;
                var txtCountry = document.getElementById("country").value;
                var txtPackage = document.getElementById("package").value;

                var registerMstData = new Array();
                registerMstData[0] = txtUser;
                registerMstData[1] = txtContact;
                registerMstData[2] = txtEmail;
                registerMstData[3] = txtpincode;
                registerMstData[4] = txtCity;
                registerMstData[5] = txtState;
                registerMstData[6] = txtCountry;
                registerMstData[7] = txtPackage;

                $.post("<?php echo site_url('Home/registration') ?>", {pageData: registerMstData, action: "save"},
                function(data) {                
                    var result = data + "";
                    window.alert(result);
                })
                .fail(function(req, status, err) {
                    console.error('Error : ' + err + " status : " + status + " request " + req.toString());
                    alert('Error : ' + err + " status : " + status + " request " + req.toString());
                });
            }
        });
    }

我做错了什么我不明白?请帮忙。

【问题讨论】:

  • 这与codeigniter无关
  • 哇,这句话还没说完……问题质量又上新台阶了。
  • 它显示响应 [Object object]。什么是对象?
  • var result = data + ""; 这基本上对你得到的对象执行toString()。对象的字符串表示为[Object object]。不要在那里做警报,而是设置一个断点并查看对象中的内容。

标签: html ajax forms


【解决方案1】:

我个人认为 AJAX 应该用于显示更新,而表单提交应该通过页面重新加载来完成。

  • 表单提交是同步的,它会重新加载页面。
  • ajax 调用是异步的,它不会重新加载页面。

这一切都取决于你想要它是怎样的

更新

对于ajax,可以使用

$.ajax({
   url: 'your url',
   data: {
       format: 'json'
   },
   error: function(err) {
      // handle error here
   },
   data: yourData
   success: function(data) {
      // handle success here
   },
   type: 'POST'
});

【讨论】:

  • 我应该如何检查实际错误?是否有任何错误参数:function() { }
  • @ApurvaMatey,更新了我的答案。 error函数有错误参数
猜你喜欢
  • 2018-08-15
  • 2012-12-25
  • 1970-01-01
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
相关资源
最近更新 更多