JS如何在本地读取json等文件

JS如何在本地读取json等文件,第1张

点击“下载”按钮,会把文本域中的内容全部作为一个html后缀文件下载下来,各流程效果如下面几张图:

下载按钮点击示意

出现下载确认框(根据浏览器的设置不同也可能直接下载),然后名称默认就是testhtml。

默认就是testhtml名称

然后对应保存目录就多了个类似下图的文件:

保存好的testhtml文件截图示意

双击该testhtml文件可以在浏览器中正常浏览,说明,保存信息无误。

testhtml在浏览器中访问的效果

触发下载的JS代码就几行:

对于非文本文件,也是可以直接JS触发下载的,例如,如果我们想下载一张,可以把这张转换成base64格式,然后下载。

代码示意:

不止是html文件,txt, json等只要内容是文本的文件,都是可以利用这种小技巧实现下载的。

在Chrome浏览器下,模拟点击创建的<a>元素即使不append到页面中,也是可以触发下载的,但是在Firefox浏览器中却不行,因此,上面的funDownload()方法有一个appendChild和removeChild的处理,就是为了兼容Firefox浏览器。

download属性从Edge13开始支持,理论上,edge也应该支持直接JS触发的浏览器文件下载,但我手头上并无相关浏览器,无法确定真实情况如何,欢迎有条件的小伙伴帮忙测下告知结果。

就这些吧,感谢阅读!

一、参考代码如下:

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script src="jquery-211minjs"></script> 

<!--记得导jquery-->

<script>

    $ajax({

        type:'get',

        url:"demohtml",//这里是url

        success:function(body,heads,status){

            consolelog(body);  //body就是内容了,也就是url网页中的内容

        }

    });

</script>

</body>

</html>

重点代码说明:

$ajax({

type:"POST",//请求方式为post

url:"orderclassphptype=add",//请求的地址

data:dataFormid,//参数

success: function(mag){

//success指的是请求并成功返回信息

//msg是返回的内容

alert(mag);

}

});

举例

//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"

success: function(data){

var json=evel("("+data+")");

alter(jsonmsg);//会d出执行成功的消息框

}

<script type="text/javascript">

var xml>

你的这个txt文件,改成json文件(js也可以);

你可以做一个测试,将你的json文件和你的调用js文件和你的页面放在一个目录下;然后$getJSON(url, function(data){ // todo }); // 这里的url直接是xxjson

如果你的页面和js文件和json文件不再一个目录,就要将url写成页面相对于json文件的路径。

或者等等不一而足。

以上就是关于JS如何在本地读取json等文件全部的内容,包括:JS如何在本地读取json等文件、javascript 怎么获取指定url网页中的内容、js中除了ajax还有哪些方式可以获取接口返回的json数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9726490.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存