Накатал скрипт, который должен заставить лайки на форуме работать без перезагрузки страницы. На локалке работает, залил на хостинг и получаю алерт с кодом ошибки 500. Выгуглить решение пока не удалось, выгуглил только, что это "Internal Server Error". Пробовал удалять htaccess отовсюду, пробовал перемещать файл в корень сайта и менять к нему путь - бестолку. Подскажите из-за чего это может быть. Код (Text): $(document).on('click', '.jsThank', function(event) { event.preventDefault(); var Obj = $(this); var Container = $(this).parent('td').find('.jsThanksContainer'); var Uri = $(this).attr('href').replace('./viewtopic.php?', ''); $.ajax({ type: "POST", cache: false, dataType: 'json', url: "thanks-ajax.php", data: Uri, success: function(result){ if (result['error']) { alert(result['error']); } else { Obj.replaceWith(result['btn']); Container.html(result['content']); } }, error: function(result){ alert('Error: '+result['status']+': '+result['responseText']); } }); });
Ты прав, дело в php. Хотя не понятно почему оно на локалке работает, а не хостинге нет. Было бы понятней, если б мне возвращало не тупо "500", а php-ошибку.
Разобрался. Я не залил ещё один скрипт с функциями и у меня шло обращение к несуществующей функции. Реально как-то в этом случае получить PHP-ошибку из AJAX, вместо "500"?
500 говорит о том, что произошла ФАТАЛЬНАЯ ошибка — php рухнул, сообщение легло в логи. есть трюки: stackoverflow, Котеров. но всё равно не для всех случаев и не факт, что получится вывести сообщение в этом http response. для лучшего логирования только пригодно.