【发布时间】:2016-10-26 02:28:16
【问题描述】:
我已经做了功能,我可以在确认后添加一行。问题是,提交按钮后,表格不重新加载并显示错误功能警报。实际上数据成功保存,我必须刷新页面才能重新加载表格。这是我的ajax jquery代码:
function reloadPage()
{
window.location.reload()
}
function save()
{
$('#btnSave').text('saving...'); //change button text
$('#btnSave').attr('disabled',true); //set button disable
var url;
if(save_method == 'add') {
url = "<?php echo site_url('activity/save')?>";
} else {
url = "<?php echo site_url('activity/update_activity')?>";
}
// ajax adding data to database
$.ajax({
url : url,
type: "POST",
data: $('#form-input').serialize(),
dataType: "JSON",
success: function(data)
{
$('#myModal').modal('hide');
reloadPage();
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled',false); //set button enable
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data');
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled',false); //set button enable
}
});
}
<button id="btnSave" onclick="save()" class="btn green">
"fa fa-save"> save</button>
我的控制器:
public function save() {
$actype = $this->input->post('actype');
$activity_name = $this->input->post('activity_name');
$project = $this->input->post('project');
$portion = $this->input->post('portion');
$activity = $this->input->post('actid');
$data = array(
'activity_type_id'=>$actype,
'activity_name' =>$activity_name,
'project_id' =>$project,
'portion' =>$portion,
'activity_id' => $activity
);
$this->activity->insertactivity($data);
redirect("activity/input");
}
在我点击按钮保存后,警报(“添加/更新数据时出错”),但实际上在重新加载页面数据后已保存。 我的 ajax 代码中的代码错误在哪里?
【问题讨论】:
-
你有两个函数保存???在控制器和脚本中?
-
是的,是不是错了?
-
我认为这是错误的。为什么你需要两个功能在一个按钮中具有相同的功能(保存)?
-
保存在按钮重定向到 ajax javascript,并在 ajax javascript 调用控制器。这是 codeigniter。
-
尝试重命名其中一个。
标签: javascript ajax codeigniter