Как читать json файл в vue.js

Я новичок в веб-разработке. Я использую vue-cli3.0 и локальный сервер.

<template>
    <div>
    </div>
</template>

<script lang = "ts">
import { Component, Prop, Vue } from 'vue-property-decorator';

@Component({
  components: {
  },
})

export default class Test extends Vue 
{
  mounted(){
      this.readJson("./resources/doc.json")
  }

    readJson(filePath) {
        var request = new XMLHttpRequest();
        request.open("GET",filePath, false);
        console.info(request)
        // request.send(null)
        // var my_JSON_object = JSON.parse(request.responseText);
        // alert (my_JSON_object.result[0]);
    }
}
</script>

Когда я console.info (запрос), внутри запроса выглядит так.

XMLHttpRequest {onreadystatechange: null, readyState: 1, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …} onabort: null onerror: null onload: null onloadend: null onloadstart: null onprogress: null onreadystatechange: null ontimeout: null readyState: 1 response: "" responseText: "" responseType: "" responseURL: "" responseXML: null status: 0 statusText: "" timeout: 0 upload: XMLHttpRequestUpload {onloadstart: null, onprogress: null, onabort: null, onerror: null, onload: null, …} withCredentials: false proto: XMLHttpRequest

Все они равны нулю.

Помогите, пожалуйста.

Я не могу писать здесь импорт.

Поэтому я не хочу использовать импорт.


Спасибо за ответ.

<template>
    <div>
    </div>
</template>

<script lang = "ts">
import { Component, Prop, Vue } from 'vue-property-decorator';

@Component({
  components: {
  },
})

export default class Test extends Vue 
{
  mounted(){
      this.readJson(require("./resources/doc.json"))
  }

    readJson(filePath) {
        var request = new XMLHttpRequest();
        request.open("GET",filePath, false);
        console.info(request)
        request.send(null)
        var my_JSON_object = JSON.parse(request.responseText);
        alert (my_JSON_object.result[0]);
    }
}
</script>

Я изменил свой код вот так.

Но внутренний запрос все тот же.

ошибка

vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in mounted hook: "SyntaxError: Unexpected token < in JSON at position 0"


Но я обнаружил, что внутри "filePath.ngldoc" были данные! Это объект данных javascript?

Я предполагаю, что ./resources/doc.json существует относительно вашего файла .vue, которым вы поделились здесь?

raphinesse 16.10.2018 06:30

Посмотрим, поможет ли это: stackoverflow.com/a/45566350/8284987

nilansh bansal 16.10.2018 06:32

Также может быть полезно регистрировать содержимое request.responseText.

raphinesse 16.10.2018 06:34
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
4 105
1

Ответы 1

Вам, вероятно, следует использовать this.readJson(require("./resources/doc.json")).

См. vue-cli dos по статической обработке активов для подробного объяснения доступных вам опций.

Другие вопросы по теме