07.08.2012, 01:48
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
XmlHttpRequest
Объясните, позязя, что я делаю не так в этом коде:
<html><head><title>Регистрация</title>
<meta http-equiv="Content-Type" Content="text/html; Charset=Windows-1251">
<script>
function getXmlHttp() {
var xmlhttp ;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") ;
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
} catch (E) {
xmlhttp = false ;
} ;
} ;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest() ;
} ;
return xmlhttp ;
} ;
function registration() {
var xmlhttp = getXmlHttp() ;
xmlhttp.open("POST", "save_user.php", true) ;
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState != 4) {
document.write('Loading...') ;
} else {
if (xmlhttp.status == 200) document.write(xmlhttp.responseText) ;
} ;
} ;
var params = 'name='+encodeURIComponent(name)+'&password='+encodeURIComponent(password) ;
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded') ;
xmlhttp.send(params) ;
} ;
</script>
</head><body>
<h2>Регистрация</h2>
<form method="post" enctype="application/x-www-form-urlencoded" onsubmit="registration()"><p>
<label>Ваш логин<br></label>
<input name="login" type="text" size="15" maxlength="15"></p>
<p><label>Ваш пароль:<br></label>
<input name="password" type="password" size="15" maxlength="15"></p>
<p>
<input type="submit" name="submit" value="Зарегистрироваться">
</p></form></body></html>
Когда жму на сабмит, просто появляется значок загрузки вверху браузера, и нифига не происходит...
Зы: нужно содержание странички save_user.php?
Последний раз редактировалось Hekumok, 07.08.2012 в 01:52.
|
|
07.08.2012, 02:13
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
ужос.. все ни так делаете.. поддерживать ИЕ6 нет смысла, статус нужно проверять не только 200, но и другие тоже.. Если браузер берет страницу например из кеша, то и статус вернет 304 вроде.. точно не помню.. но не 200 точно.
|
|
07.08.2012, 02:21
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Сообщение от devote
|
ужос.. все ни так делаете..
|
читал всё тут и делал, как там написано...
Сообщение от devote
|
поддерживать ИЕ6 нет смысла
|
Я его и "не поддерживаю" - мне на него срать, как и на всех остальных ишаков, просто делал, как написано на том сайте (см. выше)
Сообщение от devote
|
статус нужно проверять не только 200, но и другие тоже.. Если браузер берет страницу например из кеша, то и статус вернет 304 вроде.. точно не помню.. но не 200 точно.
|
То есть
if (xmlhttp.status == 200 || xmlhttp.status == 304) ...
?!
|
|
07.08.2012, 02:25
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
devote,
Ксать я проверял - не обнаружил я кода 304 в ответе ти мне говорил -(хотя у меня доступа к серву нет, но тестил и картинки (уж явно должны кешироваться) -
|
|
07.08.2012, 02:29
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Hekumok,
я уже не однократно приводил пример того как нужно делать запросы аякс, без всяких там ишаков, например тут
|
|
07.08.2012, 02:30
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
не обнаружил я кода 304 в ответе ти мне говорил
|
ну какраз таки на картинка оно реже всего.. тут надо на простых GET запросах тестить
|
|
07.08.2012, 02:31
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
У мну мой код(из той темы) работает везде - конфликтов, не смотря на замечания - не наблюдаю( тестил спецом
|
|
07.08.2012, 02:32
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от devote
|
ут надо на простых GET запросах тестить
|
devote,
Хм... я просто не наю где тестить - у меня нет кешированных get
|
|
07.08.2012, 02:35
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Сообщение от devote
|
Hekumok,
я уже не однократно приводил пример того как нужно делать запросы аякс, без всяких там ишаков, например тут
|
Ясно, спасибо, теперь буду писать так, и то есть вот этого
function getXmlHttp() {
var xmlhttp ;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") ;
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
} catch (E) {
xmlhttp = false ;
} ;
} ;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest() ;
} ;
return xmlhttp ;
} ;
вабще не нужно?
И да, это ведь ничего не изменит в плане работы скрипта - работать-то он ведь всё равно не будет
|
|
07.08.2012, 02:37
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
У мну мой код(из той темы) работает везде - конфликтов, не смотря на замечания - не наблюдаю( тестил спецом
|
ну не знаю как был произведен тест, но статусы такие:
200 OK
304 Not Modified
все что в диапазоне двухсот, являются корректными запросами, с небольшими тонкостями которые может прислать сервер. Например статус 202 "Accepted", 203 "Non-Authoritative Information" и т.д.
В опере откройте отладчик, в разделе сеть можно увидеть какие статусы у запросов.
|
|
|
|