| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 124 人关注过本帖
标题:vfp可以创建XMLHttpRequest对象吗?不是Msxml2.XMLHTTP或winHttp.WinHttpRe ...
只看楼主 加入收藏
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:155
专家分:428
注 册:2012-10-2
结帖率:76.92%
收藏
 问题点数:20 回复次数:3 
vfp可以创建XMLHttpRequest对象吗?不是Msxml2.XMLHTTP或winHttp.WinHttpRequest
Newobject([Msxml2.XMLHTTP.6.0])有较多局限,据说XMLHttpRequest兼容性更好。vfp如何创建XMLHttpRequest对象?

[此贴子已经被作者于2025-1-27 22:39编辑过]

搜索更多相关主题的帖子: XMLHTTP 兼容性 对象 vfp 创建 
6 天前 14:47
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1300
注 册:2021-10-13
收藏
得分:0 
在 VFP 中,可以使用 CREATEOBJECT 函数创建 MSXML2.XMLHTTP 或 Microsoft.XMLHTTP 对象。
loXMLHTTP = CREATEOBJECT("MSXML2.XMLHTTP")  && 推荐使用 MSXML2.XMLHTTP
如果 MSXML2.XMLHTTP 不可用,可以尝试使用 Microsoft.XMLHTTP:
loXMLHTTP = CREATEOBJECT("Microsoft.XMLHTTP")
以下是一个完整的示例,演示如何发送 GET 请求并处理响应:

* 创建 XMLHttpRequest 对象
loXMLHTTP = CREATEOBJECT("MSXML2.XMLHTTP")

* 定义事件处理类
DEFINE CLASS EventHandler AS Custom
    PROCEDURE onreadystatechange
        IF loXMLHTTP.readyState = 4  && 请求完成
            IF loXMLHTTP.status = 200  && 请求成功
                lcResponse = loXMLHTTP.responseText
                MESSAGEBOX(lcResponse)  && 显示响应内容
            ELSE
                MESSAGEBOX("请求失败,状态码:" + TRANSFORM(loXMLHTTP.status))
            ENDIF
        ENDIF
    ENDPROC
ENDDEFINE

* 设置事件处理程序
loXMLHTTP.onreadystatechange = CREATEOBJECT("EventHandler")

* 发送 GET 请求
loXMLHTTP.Open("GET", "https://, .T.)
loXMLHTTP.Send()
6 天前 17:00
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1300
注 册:2021-10-13
收藏
得分:0 
回复 2楼 sam_jiang
还可以用CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
是我的一段代码中截取出来的。。。

FUNCTION  uploadfile
PARAMETERS lcapiurl,lcheader,lcbody
LOCAL loHTTP, lcResponse
loHTTP = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
*lohttp=NEWOBJECT("microsoft.xmlhttp")
loHTTP.SetProxy(2, "127.0.0.1:8888")  && 设置代理方便fiddler抓包调试,完成后可以注释掉
loHTTP.Open("POST", lcapiurl, .F.)
*loHTTP.SetRequestHeader("Accept-Encoding","gzip, deflate, br")
*loHttp.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")
loHTTP.SetRequestHeader("Content-Type", lcHeader)
*loHTTP.SetRequestHeader("Content-Length", LEN(lcbody))
loHTTP.Send(lcBody)WAIT "数据上传中。。。" WINDOW AT 30,150 TIMEOUT 5
lcresponse=lohttp.responsetext
RELEASE lohttp
return lcresponse
ENDFUNC
6 天前 22:52
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1855
专家分:3607
注 册:2012-2-29
收藏
得分:0 
学习啦,谢谢!
5 天前 06:32
快速回复:vfp可以创建XMLHttpRequest对象吗?不是Msxml2.XMLHTTP或winHttp.WinH ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017289 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved