VBScript (классический ASP): попытка вывести абсолютный путь текущего каталога в браузер, но получаю сообщение об ошибке - PullRequest
2 голосов
/ 21 июня 2011

Я пытаюсь напечатать на экране браузера Абсолютный Путь текущего каталога, используя Classic ASP.(эквивалентно PHP-команде echo).

Я получаю эту ошибку в последней строке кода ниже: «Ошибка времени выполнения Microsoft VBScript« 800a01a8 »Требуется объект:« Документ »/Research/ro.asp, строка 17»

Я пробовал несколько разных способов печати на экран (например, WScript.StdOut.Write), и они также возвращают ту же ошибку.

Я подозреваю, что моя ошибка как-то связана с тем, чтоэто объект, и объекты требуют другого метода печати на экране.

Есть ли у кого-нибудь какие-либо мысли по этому поводу?

samplefile.asp =

<%

Dim szCurrentRoot: szCurrentRoot= ""

'Create the File System Ojbect
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Get the Absolute Path of the current directory
szCurrentRoot = objFSO.GetParentFolderName(Server.MapPath(Request.ServerVariables("URL")))

'Print to the screen.  The following line is line 17 which causes the error
Document.Write(szCurrentRoot)
%>

ПослеЕще в одном исследовании я нашел ответ на свой вопрос:

Response.Write (szCurrentRoot)

Этот способ записи на экран браузера был успешным.

Ответы [ 3 ]

4 голосов
/ 21 июня 2011
<%

Dim szCurrentRoot: szCurrentRoot= ""

'Create the File System Ojbect
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Get the Absolute Path of the current directory
szCurrentRoot = objFSO.GetParentFolderName(Server.MapPath(Request.ServerVariables("URL")))

'Print to the screen.
Response.Write szCurrentRoot
%>

Response.Write - это способ отправки текстовых данных обратно клиенту. Использование <% %> является ярлыком для этого метода.

1 голос
/ 21 июня 2011

Вы не можете печатать на экране из ASP, вы можете только написать ответ обратно в браузер, используя Response.Write Server.EncodeHTML(szCurrentRoot) или сокращение <%=Server.EncodeHTML(szCurrentRoot) %>, если вы не внутри блока кода.

0 голосов
/ 21 июня 2011

Да. Документ не определен неявно, если вы запускаете его из командной строки

например.

cscript what.vbs

Если вы должны запустить этот скрипт внутрив IE вы можете получить доступ к «документу»

Попробуйте сделать это

Установите ie = CreateObject («InternetExplorer.Application») ie.document.write (szCurrentRoot)

...