使用jquery ajax提交按钮codeigniter将数据插入数据库

时间:2014-07-08 11:48:46

标签: javascript php jquery ajax codeigniter

我正在尝试使用codeigniter框架将数据插入数据库,我尝试了许多解决方案,我找不到问题。在添加$ this-> model->('后,有人可以建议我正确答案吗? contact_model');我的页面是空白的

我的控制器pages.php

  <?php

  class pages extends CI_Controller{
  function index{
  $this->load->model('contact_model');      
  $this->load->view('pages/index');
          }
}
 ?>

enter code here

我的观点index.php

<form id="submit" action="<?php echo site_url();?>/models/contact_model">

  <input type="text" id="name" >    
  <input type="email" id="email" >
  <textarea placeholder="Message"  id="message"></textarea>
  <button type="button" id="submit1">Send</button>
  <a id="ack"></a>          
</form>

我的模型contact_model.php

<?php
 class contact_model extends CI_Model{    

    function insert_entry()

    {
        $data = array(
        'name' => 'name' ,
        'email' => 'email' ,
        'message' => 'message');

            $this->db->insert('contactus', $data); 
    }
                                }

&GT;

custom.js文件

$("#submit1").click(function){
$.post($("#submit").attr("action"),
       $("#submit :input").serializeArray(),


       function(data)
       {

       $("div#ack").html(data); 
       }); 

$("#submit1").submit(function(){
return false;
   // window.location.href="/application/models/";
 });


 });

2 个答案:

答案 0 :(得分:0)

试试这个:3 这是ajax将页面中的数据发布到模型......

$.ajax({
    url : "<?php echo base_url();?>/pages/",
    type : 'POST',
    data :{
           "name":$("#nametags").val(),
           //more in here
    },
    success : function(data) {
});

in controler

 class pages extent CI_Controller{
function index() {}
function insert_data(){
       //call function insert data
 $data = array(
    'name' => 'name' ,
    'email' => 'email' ,
    'message' => 'message');

        $this->db->insert('contactus', $data); 
    }
    }

你的网址是:/ insert_data

答案 1 :(得分:0)

在操作中,url第一个参数不是模型,它将是控制器名称

喜欢以下<?php echo site_url();?>/controller_name/method_name

在您的情况下使用<?php echo site_url();?>/pages/

$.ajax({
url : "<?php echo site_url();?>/pages/insert_data",
type : 'POST',
data :{"name":$("#name").val(),"email":$("#email").val(),"message":$("#message").val()},
success : function(data) {

$("div#ack").html(data);

});

并在控制器

中创建一个功能
function insert_data()
{
  $this->load->model('contact_model');
  $this->contact_model->insert_entry();
}