哪种方法最好将数据从视图传递到控制器codeigniter?

时间:2017-09-27 07:50:25

标签: html ajax forms

我正在使用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());
                });
            }
        });
    }

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

1 个答案:

答案 0 :(得分:0)

我个人认为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'
});