2015-03-25 184 views
1

我有这样的代码:AJAX错误状态代码500内部服务器错误

<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显示错误

+1

500错误意味着错误与您的PHP代码。检查日志。 – 2015-03-25 10:47:56

+0

检查你的'url'是否得到'controller path' – 2015-03-25 10:50:00

+1

使用'console.log()'而不是'alert()'。你会有更多的信息。 – D4V1D 2015-03-25 10:52:00

回答

0

不知道这是否最好的答案或不..

我只是解决了改变url: <?=base_url();?>controller/saveurl: <?=base_url();?>save.php

我这个问题点url我的ajax到我单个文件的php放置在文件的根目录下,而不是再次使用ci控制器来做插入和更新查询,然后瞧它的工作

如果还有更好的方法,请让我知道。

谢谢

相关问题