Я знаю, что у меня будет много отрицательных моментов, но не могу описать это лучше.Ajax иногда не возвращается, даже есть выход
Существует URL: localhost/mycall.php
код PHP в этой конечной точке спит случайное число секунд, а затем возвращает данные в формате JSON.
Если я вызываю эту конечную точку напрямую через браузер, она всегда работает, однако, если я попытаюсь позвонить ей через AJAX в вызове document.ready
, как показано ниже.
$.ajax({
method: 'POST',
url: '/mycall.php?' + new Date().getTime() + Math.random(1, 99999),
data: dataToSend,
success: function(data) {
console.log('success');
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(textStatus);
},
complete: function(jqXHR, textStatus) {
console.log('complete');
console.log(textStatus);
}
});
Он возвращается через некоторое время, но без данных, и ни один из обратных вызовов не запускается. Это происходит в Opera, Chrome, даже в новейшем Firefox. Почему это так?
Я забыл упомянуть, вывод имеет «Content-Type»: заголовки «text/plain; charset = utf-8», возможно, это проблема ...?
Нам нужно увидеть код PHP –
Javascript не позволяет вам делать ajax-запросы другому хосту, чем тот, с которого была получена текущая страница. Является ли страница, содержащая Javascript, в том же домене, что и PHP, или это только локальный файл? – Fraser
И вы не получаете предупреждение о том же происшествии в консоли? – adeneo