Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2012, 01:48
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 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.
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2012, 02:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ужос.. все ни так делаете.. поддерживать ИЕ6 нет смысла, статус нужно проверять не только 200, но и другие тоже.. Если браузер берет страницу например из кеша, то и статус вернет 304 вроде.. точно не помню.. но не 200 точно.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2012, 02:21
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от devote Посмотреть сообщение
ужос.. все ни так делаете..
читал всё тут и делал, как там написано...
Сообщение от devote Посмотреть сообщение
поддерживать ИЕ6 нет смысла
Я его и "не поддерживаю" - мне на него срать, как и на всех остальных ишаков, просто делал, как написано на том сайте (см. выше)
Сообщение от devote Посмотреть сообщение
статус нужно проверять не только 200, но и другие тоже.. Если браузер берет страницу например из кеша, то и статус вернет 304 вроде.. точно не помню.. но не 200 точно.
То есть
if (xmlhttp.status == 200 || xmlhttp.status == 304) ...
?!
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2012, 02:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

devote,
Ксать я проверял - не обнаружил я кода 304 в ответе ти мне говорил -(хотя у меня доступа к серву нет, но тестил и картинки (уж явно должны кешироваться) -
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2012, 02:29
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Hekumok,
я уже не однократно приводил пример того как нужно делать запросы аякс, без всяких там ишаков, например тут
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2012, 02:30
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
не обнаружил я кода 304 в ответе ти мне говорил
ну какраз таки на картинка оно реже всего.. тут надо на простых GET запросах тестить
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2012, 02:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

У мну мой код(из той темы) работает везде - конфликтов, не смотря на замечания - не наблюдаю( тестил спецом
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2012, 02:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от devote
ут надо на простых GET запросах тестить
devote,
Хм... я просто не наю где тестить - у меня нет кешированных get
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2012, 02:35
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 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 ;
} ;

вабще не нужно?
И да, это ведь ничего не изменит в плане работы скрипта - работать-то он ведь всё равно не будет
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2012, 02:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
У мну мой код(из той темы) работает везде - конфликтов, не смотря на замечания - не наблюдаю( тестил спецом
ну не знаю как был произведен тест, но статусы такие:

200 OK
304 Not Modified

все что в диапазоне двухсот, являются корректными запросами, с небольшими тонкостями которые может прислать сервер. Например статус 202 "Accepted", 203 "Non-Authoritative Information" и т.д.

В опере откройте отладчик, в разделе сеть можно увидеть какие статусы у запросов.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XMLHttpRequest и redirect developer_ AJAX и COMET 1 05.07.2012 02:33
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Создание и уничтожение XMLHttpRequest Vlas AJAX и COMET 9 22.05.2009 12:38
XMLHttpRequest серверная часть mmfStudent Серверные языки и технологии 7 14.04.2009 01:52