i моя веб-страница, когда пользователь нажимает кнопку забытого пароля, я спрашиваю адрес электронной почты, ключ безопасности и т. Д., Когда пользователь нажимает кнопку sendmail, я отправляю электронное письмо, ключ безопасности и т. Д. В ajax функция с именем 'sendmail (par1, par2, par3)' [Код ниже]. Пользователь предоставляет существующий mailid, securitykey ..., rtstr [1] установлен в 1 [один]. Таким образом была отображена «Почта отправлена успешно». Но если пользователь снова вводит информацию [без обновления страницы] и нажимает кнопку sendmail, она не работает в IE. Но он отлично работает в Firefox.Тот же Ajax не работает в IE более одного раза
var xmlhttp1;
xmlhttp1 = GetXmlHttpObject();
function sendmail(Mailforpwd, Secquestion, Secanswer) {
if (xmlhttp1 == null) {
alert("Browser does not support HTTP Request");
return;
}
var url = "SendEmail.php";
url = url + "?Email=" + Mailforpwd;
url = url + "&Squestion=" + Secquestion;
url = url + "&Sanswer=" + Secanswer;
xmlhttp1.onreadystatechange = stateChanged;
xmlhttp1.open("GET", url, true);
xmlhttp1.send(null);
function stateChanged() {
if (xmlhttp1.readyState == 4) {
var Result = xmlhttp1.responseText;
rtstr = Result.split('#');
//alert(xmlhttp1.responseText);
//alert(rtstr[0]);
//alert(rtstr[0]);
if (rtstr[0] == 1) {
document.getElementById("Errorcredentials").innerHTML = "Mail send successfully";
}
else if (rtstr[1] == 0) {
//alert(document.getElementById("Errorcredentials").innerHTML);
document.getElementById("Errorcredentials").innerHTML = "Please provide Exist information";
}
else {
document.getElementById("Errorcredentials").innerHTML = "There is a problem in sending mail, please try after sometime";
}
}
}
}
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Вот моя проблема во второй раз функция StateChanged() не была вызвана, если я ставлю предупреждение в этой функции, первое время его отображение окна предупреждения, но в следующий раз он не будет. Это моя проблема. Метод sendMail.php вызывался каждый раз.
Похоже на то, что сказал @Jason. 'url = url + '? rnd =' + Math.random();' – Lijo