2015-03-25 185 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控制器來做插入和更新查詢,然後瞧它的工作

如果還有更好的方法,請讓我知道。

謝謝

相關問題