Возможности объекта XMLHttpRequest

Программирование на Visual Basic for Applications
Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Возможности объекта XMLHttpRequest

Сообщение Ципихович Эндрю » 23.10.2010 (Сб) 18:38

В скрипте ВБА строки отвечающие за полную загрузку страницы IE у меня следующие, их три варианта:
Код: Выделить всё

1
Do While IE.Document.readyState <> "complete"
DoEvents
Loop
2
Do While IE.readyState <> 4
DoEvents
Loop
3
Do While IE.Document.forms(0).Document.readyState <> "complete"
DoEvents
Loop



Но столкнулся с страницей в закрытой локальной сети, ничего не помогает, код проходит эти строки и двигается дальше, а страница не загружается и всё!!!!
Подсказывают попробовать объект XMLHttpRequest
Читал хелп по этому объекту, ничего не понял, попытался попробовать код:


Код: Выделить всё
On Error Resume Next
Dim oHTTP As New MSXML.XMLHttpRequest 'подключаем библиотеку Tools References Microsoft XML, version 2.0
oHTTP.Open "GET", "http://www.google.com/", False
oHTTP.Send 'здесь получаю системную ошибку 2146697211?
Debug.Print Err.Number & ":" & Err.Description '2147024891:Отказано в доступе. ?
Х = oHTTP.responseText


Приведите пжл пример на ВБА, где код работает и где понятно о возможностях этого объекта XMLHttpRequest
И правильно я понял, что когда в третьей строке приведённого мной кода стоит параметр false – это означает - синхронно (скрипт будет ожидать ответа от сервера)?

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Re: Возможности объекта XMLHttpRequest

Сообщение Gloom » 24.10.2010 (Вс) 3:45

oHTTP.Open "GET", "http://www.google.com/", False
oHTTP.Send 'здесь получаю системную ошибку 2146697211?
Debug.Print Err.Number & ":" & Err.Description '2147024891:Отказано в доступе. ?

Ошибка, скорее всего, из-за того, что google.com перенаправляет на google.ru
Если в настройках безопасности internet explorer добавить google.com в надёжные узлы и разрешить доступ к источникам данным за пределами домена, то скрипт отработает без ошибок.

Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Re: Возможности объекта XMLHttpRequest

Сообщение Ципихович Эндрю » 24.10.2010 (Вс) 5:08

Спасибо за ответ, проверил работает

Код: Выделить всё
Страница = "http://10.196.192.26:9204/cgi-bin/auth.cgi?login_ref=%2fcgi-bin%2fpwrap.cgi?proc=t_webif.t_main('spr_body')&login=R095049&passwd=nhfccf41" 'так как это закрытая сеть этот адрес ничего не даёт посторонним
Dim oHTTP As New MSXML.XMLHttpRequest 'подключаем библиотеку Tools References Microsoft XML, version 2.0
oHTTP.Open "GET", Страница, False
oHTTP.Send
Debug.Print Err.Number & ":" & Err.Description
Х = oHTTP.responseText

oHTTP.Open "GET", Страница, True
oHTTP.Send
Debug.Print Err.Number & ":" & Err.Description
Х1 = oHTTP.responseText

If Х <> Х1 Then Beep
False, True, никакой разницы??
Когда же Х = Х1 ??



Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList