Вызов php-скрипта с Ajax приводит к ошибке внутреннего сервера, обновление работает?

Я работаю над панелью, которая отображает различные данные о удаленных серверах. Он переключается между серверами с помощью кнопок на боковой панели. Например, это html, который вызывает скрипт:

onclick="tab('localhost')"

Это бит Ajax:

function tab(host){
 $.ajax({
 url: 'remote.php',
 data: { tab: host },
 success: function(result){
 $('.container-body').html(result);
 },
 error: function(xhr, status, error) {
 $('.container-body').html("<h2>" + error + "</h2>when opening " + host);
 },
 complete: function(){
 $(init_ui);
 $(update);
 $('.tab').removeClass('active');
 $('#dash').removeClass('active');
 $('#'+host).addClass('active');
 }
 });
}

Это должно установить $ _SESSION ["tab"] на "localhost", а затем отображать данные для этого сервера. Однако он возвращает "Внутренняя ошибка сервера". Если, однако, я обновляю страницу, она обычно загружается, если сеанс установлен на "localhost".

Если я удалю параметр GET из вызова Ajax и функции isset() из remote.php, функция Ajax возвращает успех без сеанса, намекая, что именно здесь возникает проблема.

Вот конфигурация php для remote.php

Ничего особенного, не так ли? Так что, черт возьми, здесь происходит?!

РЕДАКТИРОВАТЬ:

По какой-то причине Ajax неправильно обрабатывает сеансы, а неправильный сеанс приводит к недопустимому PHP-коду.

НОВЫЙ ВОПРОС:

Что особенного в сессиях в Ajax?

1 ответ

Вы забыли скобки в запросе:

require_once 'config.php';

должно быть:

require_once('config.php');

licensed under cc by-sa 3.0 with attribution.