Ajax отвечает пустой строкой при запуске через форму onsubmit
в Firefox, но отлично работает в Internet Explorer и Opera (работает в Firefox если отправлено кнопкой отправки вместо формы onsubmit
).Ajax отвечает пустой строкой при запуске через форму onsubmit в Firefox, но отлично работает в Internet Explorer
Я просто вызываю php-файл с помощью ajax GET и ответ php-файла с помощью - echo $response = "something";
. Затем сообщается значение ответа. Я получаю его работу в IE, но в Firefox ответ пустой строки (проверяется typeof()
).
код 4 файла: index.php, Ajax-connect.js, cbb.js, cbb.php
index.php
<html> <head> <script src="ajax-connect.js"></script> <script src="cbb.js"></script>
</head> <body>
<form name="condtactform1" method="get" action="" onSubmit="contactfunction()">
<input type="submit" name="hissubmit" id="hissubmit" value="submit"> </form>
</body> </html>
Ajax-connect.php
/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@
if (@_jscript_version >= 5)
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
@end
@*/
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
cbb.js
function contactfunction() {
var url = "cbb.php";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatecontact1;
xmlHttp.send(null);
}
function updatecontact1() {
if (xmlHttp.readyState == 4) {
var responsae = xmlHttp.responseText;
alert(responsae);
}
}
cbb.php
<?php $response = "something"; echo $response; ?>
Если я вызвать Аякса на кнопку отправки вместо отправки формы, то она отлично работает в Firefox, как:
<form name="condtactform1" method="get" action="">
<input type="submit" name="hissubmit" id="hissubmit" value="submit" onFocus="contactfunction()"> </form>
Любая идея, почему это делая это?
Спасибо.