ajax请求本地md以及简单封装xhr ajax请求

JavaScript014

ajax请求本地md以及简单封装xhr ajax请求,第1张

使用ajax请求本地md文件

注意1,如果是POST请求,要设置请求头,因为xhr ajax默认content-type是text/plain,而一般ajax请求或者表单的content-type是application/x-www-form-urlencoded,要注意后端可以解析的content-type格式

关于ajax content-type详细内容看这里 传送门

注意2,XMLHttpRequest在IE8以下不兼容,IE8以下使用ajax的方法是ActiveXObject('Microsoft.XMLHttp'),所以可以做一下兼容:

当然也可以用try-catch

执行结果是:

在JavaScript中解析markdown需要用到一些js解析库,目前比较流行的是marked.js和showdown.js 二者比较

根据github上的star和bootcdn上的使用情况,选择marked作为解析库

解析结果:(红色部分是引用,也就是md语法">")

结果显而易见,没有样式

所以接下来要布置一下md渲染的样式,这里采用 github-markdown-css ,同时将展示md内容的标签附上样式class="markdown-body",渲染结果如下:

经过上面三步,已经可以成功请求到本地的markdown文件。回过头来看整个过程,觉得xhr ajax请求应该封装成一个外部函数来调用。

这要看你的指定类型文件的位置在哪了。暂定指定类型文件是.txt1,和js文件在同一个文件夹下,相对路径处就直接写txt文件的文件全名就可以了 如:“abc.txt”2,和js文件不在同一个文件夹下,且在js的上一级文件夹中,那么就应该写成 “./abc,txt‘3,和js文件不在同一个文件夹下,可以写成”../../abc.txt“. 这个方法需要你去尝试,如果你的abc.txt有多个(不在同一个文件夹下),你就可以这样写”../../bin/txt/abc.txt“.