cari

Rumah  >  Soal Jawab  >  teks badan

data.indexOf bukan ralat fungsi yang muncul dalam

data.indexOf bukan ralat fungsi dalam perpustakaan JavaScript Tabulator.

Mesej ralat penuh:

[Error] TypeError: data.indexOf is not a function. (In 'data.indexOf("{")', 'data.indexOf' is undefined)
    load (tabulator.js:6075)
    _loadInitialData (tabulator.js:7971)
    _create (tabulator.js:7841)
    (anonieme functie) (tabulator.js:7756)

Dan amaran:

Table Not Initialized - Calling the redraw function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function

Saya menggunakan persediaan yang diterangkan dalam dokumentasi, berasaskan penyemak imbas, jadi tabulator.js dan tabulator.css ialah tempat mereka berada dalam html. Tiada apa-apa lagi yang dilakukan.

HTML Saya:

<!DOCTYPE html>
<html lang="nl">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="css/tabulator.css">
        <!-- <link rel="stylesheet" href="css/tabulator.css.map"> -->
        <link rel="stylesheet" href="css/layout.css">
        <link rel="stylesheet" href="css/style.css">
        <script defer src="js/tabulator.min.js"></script>
        <script defer src="js/crud.js"></script>
        <script defer src="js/data.js"></script>
        <script defer src="js/assess.js"></script>
        <title>DMMA</title>
    </head>
    <body>
        <main id="home">
            <h1 class="center-text dark-blue-text">Datamanagement Maturity Assessment</h1>
            <div id="entree" class="container"></div>
            <div class="output container"></div>
        </main>
    </body>
</html>

Javascript saya dalam assess.js:

document.addEventListener('DOMContentLoaded', async function() {
  
  // the assObj is the data of assessment objects I want to retrieve
  const assObj = new dataProvider;
 
  // Use Tabulator
  assObj.get('api.php/records/AssmntPlusObjects')

    // .then(async dataArray => displayRecords(dta, false))   // Works!
    .then(dataArray => {
      let table = new Tabulator("#entree", {
        data: dataArray,
        autoColumns: true
      })
    })
    .catch(err => displayError(err, null))
});

assObj.get Pergi ke kelas dapatkan yang mendapat data daripada pangkalan data MySQL yang mendapat data melalui PHP Common API. Semuanya berfungsi. Tatasusunan data dengan objek ditukar kepada objek JavaScript OK. Tabulator memberikan ralat di atas.

Tapak web ini dihoskan pada penyedia internet dan saya tidak mahu menjalankan MySQL lain secara tempatan.

Ada cadangan? Tetapan yang salah?

P粉004287665P粉004287665269 hari yang lalu426

membalas semua(1)saya akan balas

  • P粉412533525

    P粉4125335252024-02-27 14:05:16

    Pesalah ditemui! Saya perlu mendapatkan rekod dalam dataArray menggunakan

    data: dataArray.records,

    Itu sahaja!

    Saya mendapati ini menakjubkan kerana dalam fungsi jadual tersuai yang saya bina dengan data (displayRecords(dataArray, false)) ia berfungsi tanpa harta .records.

    Terima kasih kerana memberitahu saya apa itu dataArray.

    balas
    0
  • Batalbalas