【发布时间】:2013-06-14 21:23:27
【问题描述】:
我正在编写一个 Codeigniter 应用程序,我使用 ajax 将数据发送到我的控制器/方法,并且想知道如何使用 ajax 刷新 div 而无需重新加载整个页面(从 db 到使用 ajax 查看的路径是仍然让我感到困惑)
我使用这段代码将数据发送到数据库
<script>
$(function(){
$("#rate").submit(function(){
dataString = $("#rate").serialize();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>product/rate",
data: dataString,
});
</script>
发布到数据库工作正常。
然后我在视图中有一个 div,它将从数据库中获取结果,所以我附加如下代码:
<script>
$(function(){
$("#rate").submit(function(){
dataString = $("#rate").serialize();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>product/rate",
data: dataString,
dataType: "html",
success: function(data){
$('#result').html(data);
}
});
return false; //stop the actual form post !important!
});
});
</script>
但什么也没发生(我在网上跟踪了一些 sn-ps)
谁能指导我完成?
谢谢
更新 //控制器
function rate(){
if ($this->input->post('e1') || $this->input->post('e2') || $this->input->post('e3') || $this->input->post('e4') || $this->input->post('e5'))
{
$this->Mproduct->rateProduct();
$this->db->cache_delete_all();
}
}
//型号
public function rateProduct()
{
$data = array('usage' => $_POST['e1'],
'packing' => $_POST['e2'],
'size' => $_POST['e3'],
'recycling' => $_POST['e4'],
'material'=>$_POST['e5'],
'idUser'=>$_POST['idUser'],
'idProduct' => $_POST['idProduct']
);
$this->db->insert('Rating', $data);
}
【问题讨论】:
-
您应该在控制器中回显来自 db 的输出。你能发送控制器代码吗?
-
我用我的控制器和模型更新了帖子,谢谢
-
您的控制器似乎没有加载视图或输出将显示在您的 AJAX 响应中的 HTML。
-
如我所见 - 根本没有返回数据 - 简单地向用户回显一些消息,如果 rateProduct 返回真/假......另外,在这种情况下你没有加载模型,或者它是自动加载的?
标签: jquery ajax codeigniter