首页 > 解决方案 > 从es6中的文件获取json数据

问题描述

我从文件中获取 json 数据时遇到问题。我在控制台中有一个错误 404(未找到)。我不知道出了什么问题,当我放置 url 而不是文件路径时,它的工作原理

export const loadProducts = {
    init: function () {
        this.getFromJson();
    },

    getFromJson: function() {
        const request = new XMLHttpRequest();

        request.open('GET', '../data/products.json', true);

        request.onreadystatechange = function() {
            if (request.status == 200){
                console.log('data')
                const files = JSON.parse(request.response);
            } 
            else {
                console.log('connected, but API returned an error');
            }
        };

        request.onerror = function() {
            console.log('connection error');
        };

        request.send(); 
    }

}

标签: javascriptjsonecmascript-6

解决方案


试试看。这个对我有用。

export const loadProducts = {
  init: function() {
    this.getFromJson();
  },

  getFromJson: function() {
    const request = new XMLHttpRequest();
    requeest.overrideMimeType("application/json");

    let path = 'file:///C:/folder/blah.json';

    request.open('GET', 'file:///C:/some/file.json', true);

    request.onreadystatechange = function() {
      if (request.readyState == 4 && request.status == "200") {
        console.log('data')
        const files = JSON.parse(request.response);
      } else {
        console.log('connected, but API returned an error');
      }
    };

    request.onerror = function() {
      console.log('connection error');
    };

    request.send();
  }

}

Ps XMLHttpRequest 使用file协议。在这里阅读


推荐阅读