我有一个很长的降价文件。我还有一个javascript文件,在markdown上运行解析器。在我的javascript文件中,我设置了:
var text =“md / markdown.md”
这似乎没有像我希望的那样提取markdown文件的内容。但是,如果我将markdown文件的内容复制并粘贴到变量中,那么一切都可以正常工作。有没有办法设置这个javascript变量来获取这个外部降价文件的内容?
答案 0 :(得分: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;
}
}
答案 1 :(得分:1)
在Web浏览器的上下文中,如果您希望JavaScript从URI获取数据,那么您通常会使用XMLHttpRequest对象。 MDN有一个不错的tutorial about using XMLHttpRequest。
大多数通用JavaScript库包括XHR的包装器,其中包含兼容性修补程序(特别是对于旧的IE)。我很喜欢YUI。另一种选择是相对无处不在的jQuery。
对于问题中给出的情况,这不是问题,但要注意the same origin policy。
答案 2 :(得分:0)
出于安全原因,Javascript无法直接读取本地文件。作为替代方法,您可以使用XMLHttpRequest
来实现它。请检查stackoverflow上的链接:read external file with Javascript。此外,HTML5通过File API specification提供了与本地文件交互的标准方式。您可以参考教程:http://www.html5rocks.com/en/tutorials/file/filesystem/