2013-08-28 3 views
0
$.ajax({ 
    type: "POST", 
    url: "check-email", 
    data: {email: "[email protected]"}, 
    success: function(data) 
    { 
    // success part here   
    }, 
    error: function(xhr) 
    { 
    alert(xhr.status); 
    } 
}); 

Это вызовет другой файл PHP. Но печально то, что часть error выполняется всегда с печатью xhr.status как 0. В чем проблема?Функция AJAX возвращает статус 0

Примечание:
1. Это прекрасно работает на местном уровне.
2. Оба сценария, адрес электронной почты, находятся на одном сервере.
3. Сервер защищен https и находится в версии WWW.

Update:

error: function(jqXHR, textStatus, errorThrown) 
{ 
    alert(textStatus, errorThrown); 
} 

Это печатает просто как "ошибка".

+0

же сервера, но это то же протокол, порт, к югу домен и домен? –

+0

@KevinB: Ya формат выглядит аналогичным образом, 'https: // www.example.com/script.js' и' https: // www.example.com/somefolder/check-email.php' –

+0

Следующий шаг - посмотрите на консоль и проверьте заголовки ответов. Кроме того, добавьте еще два аргумента в этот обработчик ошибок и проверьте их. –

ответ

1

Я бы сделал это как комментарий, но код был бы кошмаром.

В вашей странице PHP написать это где-то:

<?php 
echo '<pre>'.print_r($_POST, true).'</pre>'; 
echo '<pre>'.print_r($_GET, true).'</pre>'; 
?> 

Сейчас:

  1. Откройте ваши инструменты разработчика (Chrome) или Firebug (Firefox) и перейдите на вкладку Сеть.
  2. Обновите страницу, которая делает AJAX называть
  3. Найти вызов AJAX для «проверки-почты» на вкладке Сеть и нажмите на нее
  4. Что вы видите?
  5. Также есть вложенная вкладка под названием «Заголовки» в инструментах разработчика, посмотри на него
+0

Метод -> ОПЦИИ; Статус -> Отменено нагрузка; Тип -> Ожидание. –

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