Помогите пожалуйста JsHttpRequest

[Удален]
1277
<script type="text/javascript" language="JavaScript">
function doLoad(value) {
var req = new JsHttpRequest();
document.getElementById('uploads-form').style.display='none';
document.getElementById('uploads-process').style.display='block';
req.open(null, 'uploads.php', true);
req.send( { video: value } );
req.onreadystatechange = function() {

if(req.readyState == 4){

document.getElementById('uploads-process').style.display='none';
document.getElementById('uploads-status').style.display='block';
document.getElementById('uploads-status').innerHTML = req.responseText;

}
}
}
</script>

есть такая байда, кто сечет тот поймет что тут, дело такое, как обработать ошибку выполнения запроса? то есть, когда не удалось выполнить запрос, либо скрипт не отдал ничего в ответ то обработать это. пробовал readyState обрабатывать и responseText пробовал, не может ни как выявить что ошибка в запросе произошла (

Апокалипсис
На сайте с 02.11.2008
Offline
391
#1

Почитайте про readyState, примерно там так:

0 - Объект не инициализирован

1 - Готовимся к получению

2 - Отправляем запрос

3 - Получаем ответ

4 - Данные получены, всё ок.

Допустим если пхпскрипт не вернул нужных данных шлите единичку в req.responseText и обрабатывайте яваскриптом по условию.

Апокалипсис добавил 28.03.2009 в 07:22

Когда то, давным давно в своем чате делал: http://rock-chat.ru/js/l.js

Апокалипсис добавил 28.03.2009 в 07:24

+ firebug Вам в помощь, очень удобная штука отладки. Ну и у Котерова отличный мануал.

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
[Удален]
#2

Пробовал я уже обрабатывать req.responseText и if(req.readyState == 0) без полезно, тут дело такое, с файлами сложнее чем с обычными данными, так как проблема может быть что нет места на диске или еще чего, по крайней мере, то есть, размер файла как было выяснено ранее, нельзя определить данным способом до загрузки, тут происходит так, сначала загружается, потом определяется размер файла, даже если делать disk_free_space(); то всё равно надо сначала загрузить файл, а потом уже скрипт отдаст результат.

P\S: Может туплю конечно, возможно выспаться нужно ))

Апокалипсис
На сайте с 02.11.2008
Offline
391
#3

KosoyRoman, Дак, а причем тут JavaScript тогда?.

Проверяйте всё что на сервере - скриптом, и отдавайте необходимые данные.

phpfaq.ru/na_tanke :)

[Удален]
#4
Апокалипсис:
KosoyRoman, Дак, а причем тут JavaScript тогда?.
Проверяйте всё что на сервере - скриптом, и отдавайте необходимые данные.
phpfaq.ru/na_tanke :)

Апокалипсис блин, нужно чтобы выше указанный скрипт, при не выполненном запросе и не полученных данных в ответ, выполнил функцию.

dvaes
На сайте с 03.09.2007
Offline
65
#5

а при ошибке какие данные приходят?) и если ничего не приходит можно ставить таймер, по истечению которого будет выполняться функция обработки ошибки?

[Удален]
#6

решил проблему обновив JsHttpRequest скрипт отдавал 500 и не возможно было проверить статус, щас обновил и всё ништяк, отдает статус правильный, ну а тут проверяю просто в конце если null то ошибка ))) всё просто )

[Удален]
#7

можно так


<script>
try{
JsHttpRequest.query("урл",{"name":value},
function(result,errors)
{
if(result)
{
if(result['content']=='')
{
alarm('Данные побились');
}
else
{
alarm('Данные пришли, всё гуд');
}
}
else
{
alarm('Очередной аларм, но есть еррор: '+errors);
}
},false);
}catch(e)
{
alarm('Произошла ошибка. Попробуйте перезагрузить страницу');
}
</script>
Здесь content - возвращаемые данные.
DA
На сайте с 04.02.2005
Offline
165
#8

еще аларм повесить по таймауту

тыщ-пыщ

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий