[請益] codeigniter用ajax()送資料全為0的問題

看板PHP作者 (葉慈)時間12年前 (2013/11/11 15:54), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
各位高手大家好,我是一位Codeigniter的初學者,對於這個框架還是有很多不太 清楚的地方。 事情是這樣的,我用codeigniter最近在架構一個應用程式,簡而言之就是送出表 單的問題,我沒有用controller送資料,而是用jQuery的ajax()來送出資料。 但是,ajax()成功地送出資料後,我進去mysql裡面看,發現送出的資料全為0。 我不知道該怎麼解決這一個問題,是不是我哪一個設定設定錯了,請各位可以幫 我檢查一下,對不起了,我想這個問題已經想好久了,實在是沒有任何頭緒,請 各位給予指教,謝謝。 這是一個很簡單的表單程式碼,檔案名稱是“test.php”,列於下方: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> <link rel="stylesheet" href="<?=base_url("/css/bootstrap.css")?>"> <link rel="stylesheet" href="<?=base_url("/css/basic.css")?>"> <script src="<?=base_url("/js/jquery-1.10.2.min.js")?>"></script> <script src="<?=base_url("/js/bootstrap.js")?>"></script> <script src="<?=base_url("/js/practice.js")?>"></script> </head> <body> <div style="margin:19px"> <form id="test_form" action="<?php echo site_url();?>/static_data/test_add"> USER:<input id="num" name="num" type="text" ><br> NAME:<input id="name" name="name" type="text" ><br> <input id=submit name="submit" class="btn" type="submit" value="傳送"> </form> </div> </body> </html> 這是一個有兩個text_input跟一個submit button的表單,跟這個表單搭配的, 是"practice.js"檔案,列於下方: $(document).ready(function(){ $("#test_form").submit(function(e){ e.preventDefault(); var tdata= $("#test_form").serialize(); var that = $(this); $.ajax({ type: that.attr('method'), url: that.attr('action'), data: tdata, success:function(tdata) { alert('SUCCESS!!'); }, error: function (XHR, status, response) { alert('fail'); } }); }); }); 我的model的設定,是"paper.php",程式碼列於下方: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Paper extends CI_Model { function __construct() { parent::__construct(); } function test_add() { $this->load->helper('form'); $this->load->helper('html'); $this->load->database(); $data = array( 'num' => $this->input->post('num'), 'name' => $this->input->post('name'), ); $this->db->insert('test_table',$data); } } 最後,這是我的controller的程式碼,檔案名稱是"static_data.php",列於下方: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Static_data extends CI_Controller { public function test() { $this->load->view('test'); } public function test_add() { $this->load->model("paper"); $this->paper->test_add(); } } 對不起,問的有點亂,我盡力排版了,請各位給予指教,感激不盡 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.90.224

11/11 16:39, , 1F
何不在model裡面把$data印出來看有什麼
11/11 16:39, 1F

11/11 16:43, , 2F
你$.ajax引用form的method form內卻沒寫 預設應該是GET
11/11 16:43, 2F

11/11 16:43, , 3F
你用get送 post收 結果你自己想一下
11/11 16:43, 3F

11/12 08:36, , 4F
感激不盡,正如您所述,順利把問題修正了
11/12 08:36, 4F
文章代碼(AID): #1IW8qYNk (PHP)
文章代碼(AID): #1IW8qYNk (PHP)