Private Sub Command5_Click()
strURL = Text2.Text
Set xmlobject = CreateObject("Microsoft.XMLHTTP")
xmlobject.Open "GET", strURL, False
xmlobject.Send ??他在这里停顿吗,和下一句是同步的吗?是否数据在这句就已经读取出来了?
If xmlobject.readyState = 4 Then ??为什么他在这里判断的时候,数据能读取完成
strHTML = xmlobject.Responsetext
End If
Text1.Text = strHTML
End Sub
strURL = Text2.Text
Set xmlobject = CreateObject("Microsoft.XMLHTTP")
xmlobject.Open "GET", strURL, False
xmlobject.Send ??他在这里停顿吗,和下一句是同步的吗?是否数据在这句就已经读取出来了?
If xmlobject.readyState = 4 Then ??为什么他在这里判断的时候,数据能读取完成
strHTML = xmlobject.Responsetext
End If
Text1.Text = strHTML
End Sub
另外对于xmlhttp的readyState 为变量,此属性只读,状态用长度为4的整型表示.定义如下:
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
所以我们做判断=4的时候代表数据已经全部读取完成了
我以为if不会等他数据接收完,就去判断,谢高人指点,
我以为if不会等他数据接收完,就去判断,谢高人指点,