hugo_yu
hugo_yu
  • 发布:2018-08-21 09:49
  • 更新:2018-12-13 11:03
  • 阅读:7523

关于uni.request的一点小疑惑,如何打开json文件读取对象数据

分类:uni-app

我看了文档,有点困惑啊。
用的微信小程序调试模式,IDE server has started, listening on http://127.0.0.1:15585。
于是我就在主目录下(main.js这里)建立了一个products.json文件。
然后试图用uni.request进行访问:

uni.request({  
                url:'http://127.0.0.1:15585/products',  
                data:{  
                    products:'products'  
                },  
                method:'POST',  
                dataType:'json',  
                header:{  
                    'content-type':'application/json'  
                },  
                success:function(e){  
                    console.log(e)  

                },  
            })

结果连接成功,但是返回的data为:
ide unknown command (empty parse result): /products.
这个好像不同于XMLhttprequest的直接访问某个文件。之前有用过nodejs,似乎是IDE的服务器端那边是没有自动路由的?我get和post方法都试过
那如何访问json文件呢?

2018-08-21 09:49 负责人:无 分享
已邀请:
hugo_yu

hugo_yu (作者) - a js lover

已经解决,用require

let products = require('../data.json');  
console.log(products.xxx)

晕啊,我还以为这个只能在nodejs里面用.

  • DCloud_UNI_GSQ

    内置了webpack

    2018-08-21 10:41

  • s***@126.com

    回复 DCloud_UNI_GSQ: require支持动态参数吗?如:

    let path = '../../static/music/foYin/' + this.albumInfo.albumPath + '/musicList.json'

    let musicobj = require(path);

    提示无法加载模块,如果是常量字符串可以,难道不支持动态变量吗?

    2019-06-28 14:24

  • DCloud_UNI_GSQ

    回复 s***@126.com: 实际不能读取json的,json是在编译阶段编译到了js中,无法在运行时动态加载。

    2019-06-28 15:44

DCloud_UNI_GSQ

DCloud_UNI_GSQ

不能访问本地的json文件,你还是放到服务器上吧,或者本地读取js模块。

  • hugo_yu (作者)

    已经解决!!用require..

    2018-08-21 10:36

  • 2***@qq.com

    @SNOWWOLFJAY@foxmail.com:使用require报错url参数是object,要怎么破呢

    2018-12-12 23:04

  • DCloud_UNI_GSQ

    回复 2***@qq.com:你用法不对啦,require加载成模块实际就不说json而是object了,你看人家怎么用的。

    2018-12-13 11:04

  • 9***@qq.com

    回复 hugo_yu: 大佬 那要怎么添加改变里面的数据?

    2019-07-12 16:02

  • 愿随风丶飘雪

    放到服务器上如何读取呢

    2021-04-19 11:47

该问题目前已经被锁定, 无法添加新回复