Javascript 使用ajax提交codeigniter表单

Javascript 使用ajax提交codeigniter表单,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我已经为ajax中的codeigniter表单提交寻找了一个更好的教程,不幸的是,我找不到更好或更清晰的教程。堆栈溢出也没有更好的解决方案。这里只提到ajax部分。对于如何从控制器访问以及如何在视图中提交和显示响应,并没有提到任何方法。我认为如果有人能提供更好的指导就更好了。谢谢 这就是我尝试过的 看法 控制器 <?php class Form_controller extends CI_controller{ function index(){ $this->load-&

我已经为ajax中的codeigniter表单提交寻找了一个更好的教程,不幸的是,我找不到更好或更清晰的教程。堆栈溢出也没有更好的解决方案。这里只提到ajax部分。对于如何从控制器访问以及如何在视图中提交和显示响应,并没有提到任何方法。我认为如果有人能提供更好的指导就更好了。谢谢

这就是我尝试过的

看法

控制器

<?php
class Form_controller extends CI_controller{

function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
   $data['email'] = $this->input->post('email');
    $data['qtext'] = $this->input->post('qtext');
    $response = $this->modelname->insertQ($data)
    echo $reponse;

}

}
模型

请遵循以下步骤: 1.从控制器函数insert_调用insertQ,将_插入_数据库。不需要返回true。 2.创建新的视图文件并加载控制器函数insert_到_数据库中。 3.在ajax成功函数中,在任何div中加载响应

例:

javascript ajax函数:

success: function(data){
    $('abc').html(data);
}

最简单的方法如下

看法

模型


如果我们使用ajax调用一个函数,该函数应该回显或打印一些内容。。PHP脚本打印或回显的任何内容,即ajax调用请求的任何输出,都将作为响应返回给客户端

内部控制器

<?php
class Form_controller extends CI_controller{

function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
   $data['email'] = $this->input->post('email');
    $data['qtext'] = $this->input->post('qtext');
    $response = $this->modelname->insertQ($data)
    echo $reponse;

}

}
有关ajax的详细信息,请参考以下链接。。这可能对你有帮助


您没有回显控制器中的任何内容,也没有实例化您的模型。将您的控制器更改为此,然后重试。

我已经尝试了一天,是否可以向您发送我的代码,我想如果我显示我的代码,对于新控制器来说,这将是一件复杂的事情。对于那些试图找到此问题答案的人来说…@Manwal我已经编辑了我的帖子@Manwal您能帮我吗??@Manwal错误发布源。我无法理解您发布的错误日志。
public function insert_into_db(){
   $this->Form_model->insertQ();
   $this->load->view('success_view');
}
success: function(data){
    $('abc').html(data);
}
     <form method="post" name="myForm1" id="myForm1" enctype="multipart/form-data" >
     Email: <input type="text" name="email" id="email">
     Question: <input type="text" name="qText" id="qText">
     <input id="submitbutton" onclick="sub();" type="submit">
     </form>

      <script>
       $(document).ready(function() {

       function sub()
       {
              var dataString = $("#myForm1").serialize();
          $.post("<?php echo site_url('form_controller/insert_into_db');?>",
          {
            vals: dataString,
          },
         function(response)
         { 

          });
        }
       });
     </script>
function insert_into_db()
  {

    $data['email'] = $this->input->post('email');
    $data['qtext'] = $this->input->post('qtext');
    $this->modelname->insertQ($data)
  }
public function insertQ($dat)
   {
    if($this->db->insert('table_name',$dat))
    {
        return $this->db->insert_id();
    }
    else
    {
        return false;
    }   
}   
<?php
class Form_controller extends CI_controller{

function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
   $data['email'] = $this->input->post('email');
    $data['qtext'] = $this->input->post('qtext');
    $response = $this->modelname->insertQ($data)
    echo $reponse;

}

}
<?php
class Form_controller extends CI_controller{
function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
$this->load->model('Form_model');  
$response = $this->Form_model->insertQ();
echo $response;
}
}