2

我有一个很长的降价文件。我还有一个通过 Markdown 运行解析器的 javascript 文件。在我的 javascript 文件中,我设置了:

var text = "md/markdown.md"

这似乎并没有像我希望的那样引入降价文件的内容。但是,如果我将 markdown 文件的内容复制并粘贴到变量中,那么一切都会正常运行。有没有办法可以设置这个 javascript 变量来获取这个外部降价文件的内容?

4

3 回答 3

1

运行 AJAX 请求:

var ajaxRequest, text;  

try{
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
} catch (e){
    // Internet Explorer Browsers
    try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try{
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
        }
    }
}
ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        text = ajaxRequest.responseText;
    }
}
于 2012-12-29T00:36:41.813 回答
1

在 Web 浏览器的上下文中,如果您希望 JavaScript 从 URI 获取数据,那么您通常会使用XMLHttpRequest对象。MDN 有一个关于使用 XMLHttpRequest 的不错的教程

大多数通用 JavaScript 库都包含 XHR 的包装器,其中包括兼容性修复(尤其是旧版 IE)。我喜欢YUI。另一种选择是相对普遍的jQuery

对于问题中给出的情况,这不是问题,但要注意同源政策

于 2012-12-29T00:36:42.407 回答
1

出于安全原因,Javascript 无法直接读取本地文件。作为一种替代方式,您可以使用XMLHttpRequest来实现它。请检查 stackoverflow 上的链接:read external file with Javascript。此外,HTML5 提供了一种通过File API 规范与本地文件交互的标准方式。您可以参考教程:http ://www.html5rocks.com/en/tutorials/file/filesystem/

于 2012-12-29T00:43:05.177 回答