作者petercilee (叶慈)
看板PHP
标题[请益] codeigniter用ajax()送资料全为0的问题
时间Mon Nov 11 15:54:06 2013
各位高手大家好,我是一位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
1F:→ MOONRAKER:何不在model里面把$data印出来看有什麽 11/11 16:39
2F:→ MOONRAKER:你$.ajax引用form的method form内却没写 预设应该是GET 11/11 16:43
3F:→ MOONRAKER:你用get送 post收 结果你自己想一下 11/11 16:43
4F:→ petercilee:感激不尽,正如您所述,顺利把问题修正了 11/12 08:36