V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
slysly759
V2EX  ›  问与答

求一个 hack 一些的点子解决 JS 加载本地 json 文件的方法

  •  
  •   slysly759 · 2017-07-18 20:19:07 +08:00 · 2328 次点击
    这是一个创建于 2683 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样

    写了一个小工具,希望用 html 展示(桌面程序挺坑爹) Python 直接写到本地 json 然后 js 加载,但是所有浏览器均拒绝了我的 js 访问本地的请求。IE 11 不给提示,火狐表示这个请求不安全,chrome 表示 XMLHttpRequest cannot load xxxx 网上说 给 chrome 加一个 allow file cross file 啥的肯定不是我想要的,真蠢。现在希望有一个 cool 一点的点子~

    另外

    实在不济我想用 Python3 的 http.server 搭建 但是我看文档头痛啊 我就想指定目录和端口开启 web 服务 能访问我的 json 就好,求个好理解的说明。(额 建议如果说 flask django 自己写 web 服务就有点大材小用了 这个就算了==)

    7 条回复    2017-07-18 22:25:50 +08:00
    zenxds
        1
    zenxds  
       2017-07-18 20:22:38 +08:00
    python -m SimpleHTTPServer
    SuperMild
        2
    SuperMild  
       2017-07-18 20:27:57 +08:00   ❤️ 1
    把 json 换成 js 文件
    91mikechaos
        3
    91mikechaos  
       2017-07-18 20:34:22 +08:00
    2 楼加 1,json 直接输出成 var testJson = { a : 1, b: 2}; 这种形式
    然后页面里面通过<script src="./testJson.json"></script>的方式加载
    slysly759
        4
    slysly759  
    OP
       2017-07-18 20:36:03 +08:00
    @91mikechaos interesting~ 我去试一下
    slysly759
        5
    slysly759  
    OP
       2017-07-18 20:37:46 +08:00
    @zenxds 我是 Python3 你那个是 Python2 我选用 http.server 的原因就在于此
    Mutoo
        6
    Mutoo  
       2017-07-18 21:57:38 +08:00
    @slysly759 python3 -m http.server
    Trim21
        7
    Trim21  
       2017-07-18 22:25:50 +08:00
    直接 http.server 没有跨域允许的 header 吧..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5283 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:15 · PVG 16:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.