data.indexOf bukan ralat fungsi yang muncul dalam
P粉004287665
P粉004287665 2024-02-26 14:39:12
0
1
467

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粉004287665
P粉004287665

membalas semua(1)
P粉412533525

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan