HTTP-запрос с хостом скрипта Windows (.hta) - PullRequest
0 голосов
/ 03 сентября 2010

Не могу поверить, что я застрял здесь, но я не могу сделать простой HTTP-запрос с использованием хоста скрипта Windows или простого файла .hta.

Это мой код:

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

Когда я запускаю файл .hta, я получаю ошибку JavaScript, говорящую что-то вроде Object Expected .. это очень раздражает, так как это тривиальная задача, и я не могу ее отладить.

Любая идея, как я могу отладить этот материал?Спасибо.

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Мне кажется, вы должны использовать

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 файл?

0 голосов
/ 03 сентября 2010

ваша функция просто создает объект, а затем уничтожает его.Попробуйте вернуться к внешней переменной или сделать больше в функции.

...