Подтвердить что ты не робот

Отладка jQuery ajax 500 Внутренняя ошибка сервера

Мой рабочий сайт CodeIgniter дает 500 Internal Server Error при размещении на MediaTemple. Это происходит во время вызова jQuery Ajax.

Я понятия не имею, что могло пойти не так. Является ли ошибка от контроллера или модели? Мой вызов Ajax:

$.ajax({
    url: "<?php echo site_url('invites/save_email') ?>",
    type: 'POST',
    data: form_data,
    success: function(msg) {
    window.location.href = "<?php echo site_url('invites/moreinvites')?>"
        return true;
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
        alert(xhr.responseText);
    }
});

xhr.responseText вернул мне <p>The action you have requested is not allowed.</p>. Но что это значит?

4b9b3361

Ответ 1

Вы можете попробовать использовать alert(xhr.responseText); или console.log(xhr.responseText); (позже будет отображаться в вашей консоли браузера, например firebug) в обратном вызове ошибки, при этом вы можете получить сообщение, связанное с исключением (если есть).

error: function (xhr, ajaxOptions, thrownError) {
           alert(xhr.status);
           alert(xhr.responseText);
           alert(thrownError);
       }

или

error: function (xhr, ajaxOptions, thrownError) {
           console.log(xhr.status);
           console.log(xhr.responseText);
           console.log(thrownError);
       }

Ответ 2

Пожалуйста, см. мой ответ здесь. Это полное объяснение того, как выполнить отладку ajax с помощью CodeIgniter и jQuery.

Ответ 3

Вам нужно настроить файл webconfig для получения запроса POST.

 <system.web>

    <webServices>
      <protocols>
        <add name="HttpPost" />
      </protocols>
    </webServices>
 </system.web>