使用Javascript从经典ASP中的文件中读取文本

时间:2016-03-01 02:00:50

标签: javascript iis asp-classic

我正在使用经典ASP,并尝试将特定文本文件的内容打印到屏幕上。我知道如何通过ASP在VBScript中做到这一点,但是如何通过ASP在Javascript中做到这一点?

2 个答案:

答案 0 :(得分:1)

如果您使用的是纯JavaScript,则可以执行以下操作。只记得替换get函数的第一个参数将实际文件路径包括文件扩展名(例如:myfilename.txt)。您还必须确保您尝试打开的文件来自同一个域。这是一个如何工作的示例的链接(http://bytewarestudios.com/launchjs/get)。我从我编写的JavaScript库中删除了get函数,因此您不必加载整个库。

HTML:

  <div id="results"></div>

JavaScript(将此代码放在关闭正文标记之前的脚本标记中):

   //call the get function
   get(pathToTextFile,function(data){

         //display the file contents to the screen.
         document.getElementById("results").innerHTML = data;


    });



function get(url,fn){//begin ajax function

    var contentType;

    //variable to hold the xmlhttp object
    var xmlhttp = null;

    //if a contentType is not passed in
    if(typeof arguments[1] === "function"){//begin if then else

        //set it to default of text/html
        contentType = "text/html"; 

    }//end if then
    else{

        //set the contentType to the argument passed in
        contentType = arguments[1];

    }//end if then else



  //if the browser contains the object
  if(window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari

            //create a new XMLHttpRequest object
            xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5

            //create a new ActiveXObject
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }//end if then else

        //add the event listenter
        xmlhttp.onreadystatechange = function(){       

  //if the status of the request is good 
  if (xmlhttp.readyState===4 && xmlhttp.status===200){//begin if then

    //get the response text and store it in the data variable
    var data = xmlhttp.responseText;    

    //call the ajaxDone callback function
    ajaxDone(data,fn);

    }//end if then 



};//end function

  function ajaxDone(data,fn){//begin function

    //call the anonymous function passing the data returned from the xmlhttp request
    fn(data);    



}//end function

答案 1 :(得分:1)

这基本上只是将你的VBS翻译成JS的情况,只要你对两者都有基本的了解就不那么难了。

VBScript示例

<%@ LANGUAGE="VBSCRIPT" %>
<%
dim fso, txt, content
set fso = Server.CreateObject("Scripting.FilesystemObject")
set txt = fso.OpenTextFile("C:\Pathto\textfile.txt")
content = txt.ReadAll
Response.Write content
%>

JScript示例

<%@ LANGUAGE="JSCRIPT" %>
<%    
var fso = Server.CreateObject("Scripting.FileSystemObject");
var txt = fso.OpenTextFile("C:\\Pathto\\textfile.txt");
var content = txt.ReadAll();
Response.Write(content);
%>

请注意,如果使用JS

,则需要转义Windows文件路径中的反斜杠