[解決済み] data.mapは関数ではありません
2022-03-01 04:35:39
質問
エラーに頭を抱えているのですが、どうしたらいいのかわかりません。 以下のような状態です。
JSON
{"products":
[
{
"product_id" : "123",
"product_data" : {
"image_id" : "1234",
"text" : "foo",
"link" : "bar",
"image_url" : "baz"
}
},{
"product_id" : "456",
"product_data" : {
"image_id" : "1234",
"text" : "foo",
"link" : "bar",
"image_url" : "baz"
}
}
]}
と、以下のjQuery
function getData(data) {
this.productID = data.product_id;
this.productData = data.product_data;
this.imageID = data.product_data.image_id;
this.text = data.product_data.text;
this.link = data.product_data.link;
this.imageUrl = data.product_data.image_url;
}
$.getJSON("json/products.json").done(function (data) {
var allProducts = data.map(function (item) {
return new getData(item);
});
});
というエラーが出るのですが、map.dataは関数として未定義なのでしょうか? 以前使っていたコードから新しいプロジェクトにコピーしたので、何がうまくいっていないのかわかりません。 唯一違うのは、JSONソースです。 以前のものには
{"products":
の部分は、[]括弧の前にあります。 これが原因で混乱してるんでしょうか?
どのように解決するのですか?
オブジェクトです。
{}
は、JavaScriptではメソッド
.map()
. これは
配列
,
[]
.
ですから、あなたのコードが動作するようにするには、次のように変更します。
data.map()
を
data.products.map()
から
products
は配列で、これを繰り返し使用することができます。
関連
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】カルーセルで画像を中央に配置する方法
-
[解決済み] 繰延べと約束
-
[解決済み] jQuery の jquery-1.10.2.min.map が 404 (Not Found) を誘発する。
-
[解決済み] フォーム送信のjQueryが動作しない
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] .css()関数で追加したスタイルを削除するにはどうしたらいいですか?
-
[解決済み】「datetime.datetime not JSON serializable」を克服する方法とは?
最新
-
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 - 不正な呼び出し
-
[解決済み] Jquery.comのサイトのソースファイルはどこにあるのでしょうか?ダウンロードのリンクがないのですが
-
[解決済み] jQuery が Ajax 呼び出しの終了を待って戻るようにするにはどうすればよいですか?
-
[解決済み] JQueryの使用 - フォームが送信されないようにする
-
[解決済み] jQueryでページスクロールをプログラム的に無効にする方法
-
[解決済み] 右から検索トグル
-
[解決済み] jQueryのinit関数を設定する
-
[解決済み] jQuery slidetoggleが動作しない?[クローズド]
-
[解決済み] .animateをループさせる方法 JQuery