Jak w VUE wczytać json z serwera, a nie z zasobów ?
Akurat szukałem jakiegoś prostego narzędzia do wizualizacji danych JSON z iperf3 ( narzędzie do monitorowania szybkości łącza)
Znalazłem https://github.com/DCsunset/vue-iperf3-chart
dodałem moj plik data_2022.json .
poprawiłem w kodzie
import jsonData from "./data_2022.json";
pomyślałem sobie "Jaka piękna składnia , wystarczy wpisać zmienna i adres i to wszystko" :D
zbudowałem i wrzuciłem na docelowy serwer i o dziwo wyświtliłą sie zawartość data_2022.json choć pliku nie było.
po krótkim poszukiwaniu okazało się żę data_2022.json trafiły do kodu JS jako zasoby
A zapis
import jsonData from "./data_2022.json";
nie oznacza wczytania pliku z serwera tylko jest istotny na etapie projektu
jak to poprawić aby wczytać dane z serwera do zmiennej ?
https://codesandbox.io/s/proud-paper-2x595k?file=/src/App.vue:925-933
<script>
import jsonData from "./data_2022.json";
import Chart from "./components/Chart.vue";
console.log("BEGIN");
let data = "";
console.log("before fetch");
fetch(
"https://raw.githubusercontent.com/mariuszmaximus/vue-iperf3-chart/master/src/data.json"
)
.then(function (response) {
return response.json();
})
.then(function (myJson) {
data = myJson;
console.log(data);
console.log("end fetch.");
});
console.log(data);
console.log("after fetch");
/// display jsonData & jsonData_2022
console.log(jsonData);
//console.log(jsonData_2022);
export default {
name: "app",
components: {
Chart,
},
data() {
return {
jsonData,
labels: ["Label 1", "Label 2"],
options: {
maintainAspectRatio: false,
},
};
},
};
</script>