Мне кажется, что функция .text()
не работает должным образом в моей функции..text() работает только один раз
Время от времени, страница будет отображаться правильно, но большую часть времени текст не изменяется. Страница начинается с тега <p>
, отображающего «Ожидание», тогда начальный .text()
в beforeSend:
работает правильно, и текст изменяется на «Обработка запроса ...», однако с этого момента функция .text()
не работает.
Я добавил в console.log
с, чтобы увидеть, если переменная msg
заселяется правильно, и это, но .text()
до сих пор не меняя <p>
тег во второй раз. Кажется, что во всех браузерах одинаково.
Это моя функция:
function sendrequest(first, last, email) {
var request = $.ajax({
url:"/core/ajax/register.php",
type:"POST",
data: {uf:first,ul:last,ue:email},
beforeSend: function(){
forms.regFor.fadeOut(100, function(){
$('p#msg').text('Processing request...');
});
}
});
request.done(function(data){
var msg;
if (data == 1){
msg = "Thank you "+first+", your request has been sent.";
console.log('Registered successfully');
}else if (data == 2){
msg = "It appears that you have already signed up.";
console.log('Already signed up');
}else{
msg = "There has been an error.";
console.log('Error on submission');
}
console.log(msg);
$('p#msg').text(msg);
});
}
Я, наверное, пропустил что-то очень простое, просто не могу видеть, что это вообще, надеюсь, кто-то может.
Я устал, что точно такой же результат. – Warren
Если это работает иногда, а не в другое время, то я бы предположил, что у вас есть проблема с вашим аякс-вызовом. Возможно, вам нужно убедиться, что страница загружена, прежде чем пытаться изменить страницу? Если страница иногда загружается из кеша и, следовательно, загружается быстрее, она может работать, а затем делает ее доступной, но в других случаях она еще не готова, когда завершается вызов ajax. – jfriend00
Что показывает консоль как возвращаемая из скрипта 'register.php'? – DevlshOne