0

我不敢相信我被困在这里,但我似乎无法使用 Windows 脚本主机或简单的 .hta 文件发出简单的 HTTP 请求。

这是我的代码:

<script language="Javascript">
window.onload = function() {
    var http = CreateObject("Microsoft.XmlHttp");
};
</script>

当我启动 .hta 文件时,我收到一个 JavaScript 错误,说类似Object Expected.. 这很烦人,因为这是一项微不足道的任务,我无法真正调试它。

知道如何调试这些东西吗?谢谢。

4

2 回答 2

1

在我看来你应该使用

var http = new window.ActiveXObject("Microsoft.XMLHTTP");

要不就

var http = new ActiveXObject("Microsoft.XMLHTTP");

在 .hta 文件而不是CreateObject().

更新:嗨卢卡!我在评论中没有太多位置,并且可以发布不太好的链接,所以我附上了我的答案:

您从问题代码中所做的错误是您尝试在其他语言的 JavaScript 元素中使用。在 VBScript 中存在CreateObject,但它是 VBScript 语言的一个特性。在 JScript/JavaScript 中,您必须改用新的 ActiveXObject

此外,您在评论中多次提到跨域问题,但从未描述过您在做什么。如果您需要有关此主题的帮助,则应在问题中包含有关您做什么的更多信息。可能您可以在 WSH 或 C 中包含有效的代码并包含相应版本的 .HTA 文件。如果您描述了为什么要使用 .HTA 文件而不是 WScript/CScript 或 PowerShell ,这也会很有帮助。您想在哪种情况下使用 .HTA 文件?

于 2010-09-03T10:16:36.203 回答
0

您的函数只是创建对象然后销毁它。尝试返回外部变量或在函数中执行更多操作。

于 2010-09-03T15:33:45.663 回答