Форма Ajax не работает с Internet Explorer 8,9

Я написал форму с использованием ajax, поэтому страница после обновления не обновится. В Chrome и Firefox он работает отлично, проблема возникает, когда я пользуюсь Internet Explorer (пока я проверил только 8,9). В IE8,9 я не могу отправить форму, нажатие на кнопку отправки не запускает какое-либо событие, как и должно быть. Вот код, который я использую, я хотел бы пояснить, что я написал код PHP и AJAX в том же файле из-за требований моего босса

if($_POST['isRadial']){ if(($_POST['redialVal']) && ($_POST['waitVal'])&& ($_POST['userId']) ){ $redial = $_POST['redialVal'] ; $wait = $_POST['waitVal']; $userId = $_POST['userId']; $error_message = "123Could Not Save Settings, Please Try Again."; $success_message ="Settings Were Updated Successfully, Will Be Implemented In 10 Minutes"; $query = mysql_query("...."); $getAll = mysql_query("..."); if(mysql_num_rows($getAll)>0){ $query = mysql_query("...'"); } if(!$query){ echo $error_message; return false; } else echo $success_message; //Update pull_tables file_put_contents("....); } else echo "</br>An Error Occured.Please Save Settings Again123.</br>"; } 

Код Ajax:

 $(function(){ $('#submitRedialWait').click(function(){ var redial = $("#redialSettings").val(); var wait = $("#waitSettings").val(); //var userData = $("#ui").text(); var userData=<?php echo $IDuser; ?>; $.ajax({ url: '' , type: 'POST', data: {redialVal: redial , waitVal : wait, userId :userData, isRadial:"yes"}, success: function(result){ // $('#RedialWaitResults').text(result) ; alert('settings have been saved.'); } }); return false; }); }); 

Вы хоть представляете, что моя причина? (кроме существующих IE)

Любое предложение было бы полезно, спасибо заранее

Solutions Collecting From Web of "Форма Ajax не работает с Internet Explorer 8,9"

Когда я работал с AjaxForm для файлов, представляющих асинхронно, я нашел 2 интересные вещи.

Во-первых, чтобы получить ajaxform для работы с перекрестным браузером (IE 7+, chrome, firefox), вы должны убедиться, что используете метод submit ajaxform, то есть примерно так:

 $('form').ajaxForm({ success: ..., error: ... }).submit(); 

Второе удивило меня. AjaxForm работал повсюду, включая IE 7 и 9, но он не работал на IE 8. Причина в том, что я забыл метод att = POST. Итак, вы должны убедиться, что у вас есть что-то вроде этого:

 <form action="/action.php" method="POST">... 

При использовании ajax ajax будет работать в фоновом режиме. Вы должны делать то, что хотите от успеха / ошибки запроса ajax, он ничего не сделает сам.

Если вы просто хотите перезагрузить страницу после успеха. Просто позвони

document.location.reload(true); или что вы хотите …

ИЛИ

Показывать сообщение и перезагружать окно через некоторое время, используя setTimeOut

 setTimeout(function(){document.location.reload(true)},3000); 

после alert('settings have been saved.'); в вашем коде.