Я получаю сообщение об ошибке из моей программы vb6 - PullRequest
0 голосов
/ 18 апреля 2010
Private Sub Command1_Click()
  Dim dom As New DOMDocument
  Dim http As New XMLHTTP
  Dim strRet As String
  If Not dom.Load("c:\\CH.xml") Then MsgBox "文件不存在"
  http.Open "Post", "http://172.31.132.173/u8eai/import.asp", True '指定服务器ASP
  http.send dom.xml '把xml数据发送服务器端
  strRet = http.responseText 'strRet:返回的xml格式的回执信息
  MsgBox strRet
End Sub

Сообщение об ошибке на китайском языке: 实时 错误 完成 该 操作 所需 的 数据 还 不可 使用. переведено Google (на английский): Ошибка в реальном времени Данные, необходимые для завершения операции, также не могут быть использованы

1 Ответ

1 голос
/ 18 апреля 2010

(«Ошибка во время выполнения, данные для этой операции еще не используются»)

Проблема в том, что вы отправляете HTTP-запрос как асинхронный

http.Open "Post", "http://172.31.132.173/u8eai/import.asp", True

, что означает, что метод send будет возвращен немедленно даже до ответа сервера.

http.send dom.xml

но до ответа сервера вы уже запрашиваете значение responseText. Конечно, это приведет к ошибке во время выполнения.

strRet = http.responseText

Одним из способов решения этой проблемы является выдача синхронного запроса, т. Е. Изменение 3-го параметра http.open на False. Лучший метод - установить обработчик http для обработки события readyStateChange (обратитесь к документу за подробностями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...