【发布时间】:2015-03-25 10:47:12
【问题描述】:
我有这个代码:
<a href="#">
<i class="icon-heart" id="icon_heart" value="20"></i>
</a>
var some_value = $("#icon_heart").attr("value");
$('[id=id_heart]').click(function() {
$.ajax({
url: "<?=base_url(); ?>controller/save",
type: "post",
data: { some_value: some_value },
success: function(dat){
alert(dat);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
});
PHP:
function save()
{
$post = $this->input->post();
$some_value = $post['some_value'];
$dtl['some_field'] = $some_value;
$dtl['date_insert'] = date('Y-m-d H:m:s');
$this->db->insert('resep_like',array_filter($dtl));
$this->db->set('is_like', 'is_like+1',FALSE);
$this->db->where('some_field', $some_value);
$this->db->update('some_table');
echo "success";
}
插入和更新查询成功,但 AJAX 响应返回 error: status code 500 internal server error。为什么会这样?成功但是结果是错误的,并且没有显示来自PHP的echo。如果响应成功但 AJAX response 显示错误,我该如何处理
【问题讨论】:
-
A 500 错误意味着错误与您的 PHP 代码有关。检查日志。
-
检查您的
url是否获得controller path -
使用
console.log()而不是alert()。您将获得更多信息。 -
@RoryMcCrossan 抱歉,我如何检查 php 中的日志?你能提供给我吗?
-
@SyarifHidayatullahLubis 是否在配置中启用
CSRF保护?
标签: javascript php jquery ajax codeigniter