(codeigniter ajax)不想保存数据

时间:2018-07-22 03:56:51

标签: php ajax codeigniter

我在ajax功能上遇到麻烦。 以防万一,我想通过单击名为“ tambah_tmp”的锚点按钮来插入数据。 我对ajax不太了解,从一开始我就读过互联网上的“如何从ajax加载数据”的建议,现在我自己尝试用该方法保存/插入数据,但仍然无法正常工作,这里的代码是:

AJAX

function tampil_buku_cari()
{
  $.ajax({
    type: 'ajax',
    url: "<?php echo base_url();?>pinjambuku/daftar_buku",
    async: 'false',
    dataType: 'json',
    success: function(data){
      var html = '';
      var i;
      for (i=0; i<data.length; i++)
      {
        html+=  '<tr>'+
                '<td id="cari_isbn">'+data[i].buku_isbn+'</td>'+
                '<td id="cari_nama">'+data[i].buku_nama+'</td>'+
                '<td id="cari_penulis">'+data[i].buku_penulis+'</td>'+
                '<td><a class="btn btn-primary" id="tambah_tmp" isbn="'+data[i].buku_isbn+'" nama="'+data[i].buku_nama+'" penulis="'+data[i].buku_penulis+'"><span class="fa fa-plus"></span></a></td>'+
                '</tr>';
      } 
      $('#daftar_cari').html(html);
    }
  });
}

 $("#tambah_tmp").click(function(){ 
  var tmp_isbn = $("#cari_isbn").val();
  var tmp_nama = $("#cari_nama").val();
  var tmp_penulis = $("#cari_penulis").val();

  $.ajax({
    url: "<?php echo base_url();?>pinjambuku/input_for_tmp",
    type: "POST",
    data: "cari_isbn="+tmp_isbn+"&cari_nama="+tmp_nama+"&cari_penulis="+tmp_penulis,
    cache: false,
    success: function(html)
    {
      alert('Input sukses');
    }
  });
  $("#cari_buku").modal("hide"); });

型号:

function input_tmp($data)
{
    $this->db->insert('td_tmp', $data);

}

控制器:

public function input_for_tmp()
{
    $isbn = $this->input->post('cari_isbn');
    $nama = $this->input->post('cari_nama');
    $penulis = $this->input->post('cari_penulis');


    $data = array(
        'buku_isbn' => $isbn,
        'buku_nama' => $nama,
        'buku_penulis' => $penulis
    );

    $proc = $this->M_pinjambuku->input_tmp($data);

}

对不起,如果您有误会,我的英语不太好,我仍然可以学习

2 个答案:

答案 0 :(得分:0)

我在那里遇到的错误很少。

首先在您的tampil_buku_cari()函数中,将type: 'ajax'替换为type: 'GET'

第二,在较低的ajax函数中传递数据时,将进行一些编辑。 将数据字段从data: "cari_isbn="+tmp_isbn+"&cari_nama="+tmp_nama+"&cari_penulis="+tmp_penulis替换为data: {"cari_isbn": tmp_isbn, "cari_nama": tmp_nama, "cari_penulis": tmp_penulis}

在声明$ proc数组之后第三次print_r($proc);

答案 1 :(得分:0)

现在我已经尝试改变 <td><a class="btn btn-primary" id="tambah_tmp" isbn="'+data[i].buku_isbn+'" nama="'+data[i].buku_nama+'" penulis="'+data[i].buku_penulis+'"><span class="fa fa-plus"></span></a></td> 变成这个: <td><a class="btn btn-primary" onclick="tmp_input()" id="tambah_tmp" href="#"><span class="fa fa-plus"></span></a></td>

现在我捕获了一些错误,并说了未捕获的ReferenceError:tmp_input在HTMLAnchorElement.onclick(pinjambuku :)中未定义