[解決済み] DataTables: 未定義のプロパティ 'length' を読み取ることができません。
2023-04-10 07:01:33
質問
私はこれが人気のある問題であると理解しており、ここ Stack Overflow や他のサイト (datatables ウェブサイトを含む) で同様の質問をすべて読みました。
明確にするために、私は
- PHPのCodeigniter
- Materliazecss
JSON配列を正しく受け取ったことも確認しました。
[{"name_en":"hello","phone":"55555555"},{"name_en":"hi","phone":"00000000"}]
私のHTMLテーブルはこのような感じです。
<table id="customer_table">
<thead>
<tr>
<th>Name</th>
<th>Phone</th>
</tr>
</thead>
</table>
そして、これが私の
document.ready
関数です。
$(document).ready(function(){
//$('#customer_table').DataTable();
$('#customer_table').DataTable( {
"ajax": 'json',
"dataSrc": "",
"columns": [
{ "data": "email" },
{ "data": "name_en" }
]
});
});
私が得ているエラーは
Uncaught TypeError: 未定義のプロパティ 'length' を読み取ることができません。
どのように解決するのですか?
原因
このエラーは
TypeError: Cannot read property 'length' of undefined
は、通常、jQuery DataTablesがAjaxリクエストのレスポンスにデータを見つけることができないことを意味します。
デフォルトでは、jQuery DataTablesはデータが以下に示すフォーマットのいずれかであることを期待します。デフォルト以外のフォーマットでデータが返されたため、エラーが発生します。
配列の配列
{
"data": [
[
"Tiger Nixon",
"System Architect",
"$320,800",
"2011/04/25",
"Edinburgh",
"5421"
]
]
}
オブジェクトの配列
{
"data": [
{
"name": "Tiger Nixon",
"position": "System Architect",
"salary": "$320,800",
"start_date": "2011/04/25",
"office": "Edinburgh",
"extn": "5421"
}
]
}
解決方法
デフォルトの書式を使用するか
ajax.dataSrc
オプションを使用して、Ajax レスポンスにテーブルデータを含むデータプロパティを定義することもできます (
data
である)。
参照 データ配列の位置 を参照してください。
リンク
参照 jQuery DataTablesをご覧ください。よくあるJavaScriptのコンソールエラー を参照してください。
関連
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] .on('click') と .click() の違いについて
-
[解決済み] Twitter Bootstrapのモーダルウィンドウを閉じないようにする
-
[解決済み] 変更イベントでradioを使用するには?
-
[解決済み] jQuery .onとhoverの使い分けは可能ですか?
-
[解決済み] jQuery OR Selector?
-
[解決済み】$(window).width()がメディアクエリとは違う
-
[解決済み】iPad版SafariでjQueryを使ってタッチイベントを認識させる方法は?可能でしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQueryのイベントハンドラを削除する最良の方法?
-
[解決済み] Select <a> which href ends with some string
-
[解決済み] チェックボックスのチェック/アンチェックは、jqueryを使用していますか?重複
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] jQuery UI DatePicker - 日付フォーマットの変更
-
[解決済み] jQueryでフォームフィールドをクリアする
-
[解決済み] jQueryを使用してDropDownListの値を設定するにはどうすればよいですか?
-
[解決済み】jQueryがリクエストボディに有効なjsonを投稿する。