data array(dari file php json encode) di panggil ke file .js tapi tidak bekerja

Semoga ada yang bersedia bantu :

saya buat buat 3 file(jsonEncode php, index.php dan file data,js)

File json php untuk menmpilakan array dari db :

<?php
include("connect.php");
$sql = mysqli_query($connect, "SELECT * FROM user");

while ($row = mysqli_fetch_array($sql)) {
    $jsonData[] = $row['nama'];
}
json_encode($jsonData);

lalu di panggil/dimunculkan terlebih dahulu ke label index.php:

<label id="labeldata">        <?php include("backend/ajax.php");        $namaambil = json_encode($jsonData);        echo ($namaambil); ?>    </label>

dan dipanggil di file .js isi labelnya dengan tujuan tetap jadi array dan berfungsi sebagai array:

const labels = [document.getElementById("labeldata").innerHTML];

tp kalo di broser muncul tp arraynya ga berfungsi/ cuma tampil aja di innerhtml

avatar babadotan
@babadotan

10 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

6 Jawaban:

<div>Ga bisa kaya gitu mas...<br><br>Solusi dari saya adalah, loop json/arraynya di javascript.<br><br>Misal<br><br></div><pre>let json = JSONDARIAJAX; let array = []; for (i in json) { array.push(i); } console.log(array);</pre>

avatar tompradana
@tompradana

134 Kontribusi 95 Poin

Dipost 2 tahun yang lalu

<div>jika ingin ambil data dari php, saran nya menggunakan fungsi XMLHttpRequest atau fetch yang ada di javascript<br><br>contoh :<br>XMLHttpRequest</div><pre>let xml = new XMLHttpRequest();
xml.onreadystatechange = function () { if (xml.readyState === 4) { if (xml.status === 200) { console.log(xml.response); // sukses } else { console.log(xml.response); // error } } } xml.open("GET", "URL lokasi PHP nya"); xml.send();</pre><div><br>Fetch</div><pre>fetch("URL lokasi PHP nya") .then(response =&gt; response.json()) .then(response =&gt; { console.log(response); }) .catch(error =&gt; console.log(error))</pre><div><br><br></div>

avatar Terra
@Terra

81 Kontribusi 39 Poin

Dipost 2 tahun yang lalu

<div>Terima kasih banyak semua atas bantuannya. tp saya masih belum berhasil. mohon pencerahannya lagi.<br><br>Jadi kasusnya saya mau mengisi array di javascript, array tersebut di dapatkan dari database.<br>nah untuk dapat data arraynya saya membuat file json.php<br><br>script fetch yang dikasih diatas berhasil, tp sya masih bingung untuk menjadikannya variable array/ menjadikan array di js masih belum berhasil. sudah browsing sana sini masih mentok, terima kasih banyajk atas bantuannya. semoga jawaban pencerahan lagi.<br><br>note : kalo input manual arraynya di js berhasil muncul sesuai kemauan, seperti :</div><pre>const = ['A','B','C','D']</pre><div><br>pas di isi dengan data dari json ga bisa SEPERTI :</div><pre>fetch("json.php") .then(response =&gt; response.json()) .then(response =&gt; { console.log(response)<pre> const = ['A','B','C','D']</pre> <br> });</pre>

avatar babadotan
@babadotan

10 Kontribusi 0 Poin

Dipost 2 tahun yang lalu

<div>baru saja saya test bisa, ini contoh code nya&nbsp;<br><br>Controller</div><pre>function data() { return json_encode(['A', 'B', 'C', 'D']);
}</pre><div><br>View / Javascript</div><pre>&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt;

&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;Document&lt;/title&gt; &lt;/head&gt;

&lt;ul class="showData"&gt;&lt;/ul&gt;

&lt;body&gt; &lt;script&gt; const _BASE_URL = "&lt;?= base_url() ?&gt;"; fetch(_BASE_URL + "/data") .then(response =&gt; response.json()) .then(response =&gt; { let li = ''; for (const res of response) { li += &amp;lt;li&amp;gt;${res}&amp;lt;/li&amp;gt; } document.querySelector('.showData').innerHTML = li; }) .catch(error =&gt; console.log(error)) &lt;/script&gt; &lt;/body&gt;

&lt;/html&gt;</pre><div><br></div>

avatar Terra
@Terra

81 Kontribusi 39 Poin

Dipost 2 tahun yang lalu

<div>Terima kasih banyak ka tera atas bantuannya.&nbsp;<br>Jadi sebetulnya intinya saya mau dapat data array dari php.json di simpan jadi variable array di .js untuk kemudian digunakan.<br><br>Saya gunakan script yang di kasih berhasil muncul tp saat dimasukan jd variabel array di .js tidak bisa digunakan sebagai array. Mohon maaf saya masih belajar. Terima kasih banyak</div>

avatar babadotan
@babadotan

10 Kontribusi 0 Poin

Dipost 2 tahun yang lalu

<div>tipe data yang dihasilkan oleh fetch itu promise, dan promise bersifat asynchronous jadi kalau mau masukkan ke variabel harus menggunakan fungsi async await, nggk bisa langsung masuk saja<br><br></div><pre> function getData() { return fetch(_BASE_URL + "/data") .then(response =&gt; response.json()) .then(response =&gt; response) .catch(error =&gt; console.log(error)) }

    const array = async () =&amp;gt; {
        let arr = await getData();
        //proses
        console.log(arr);
    }

    array();&lt;/pre&gt;&lt;div&gt;&lt;br&gt;untuk pahami lebih lagi, mungkin bisa coba pelajari synchronous dan asynchronous&lt;/div&gt;
avatar Terra
@Terra

81 Kontribusi 39 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban