2015-03-25 10 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. Почему это может быть? Он является успешным, но результатом является ошибка, и echo из PHP не отображается. Как я могу справиться ответ, если это успех, но шоу ошибка AJAX response

+1

Ошибка 500 означает, что ошибка связана с вашим кодом PHP. Проверьте журналы. –

+0

Проверьте свой 'url', он получает' путь контроллера ' –

+1

Используйте 'console.log()' вместо 'alert()'. У вас будет гораздо больше информации. – D4V1D

ответ

0

не знаю, если это лучший ответ или нет ..

Я просто решить эту проблему путем изменения url: <?=base_url();?>controller/save в url: <?=base_url();?>save.php

I точку url моего ajax для моего единственного файла php, помещенного в корень документа, и не используя ci-контроллер снова, чтобы выполнить запросы на вставку и обновление, затем выполните ее работу

Если есть лучший способ этого, позвольте мне знайте это.

Спасибо

Смежные вопросы