前提・実現したいこと
下記エラーが発生して、何が原因なのかが掴めていません。
色々調べたのですが、解決できておらずこちらに書き込みさせて頂きました。
発生している問題・エラーメッセージ
Uncaught TypeError: _updateMenu is not a function
該当のソースコード
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<script type="text/javascript" src="./js/jquery-3.5.1.min.js"></script> 5<script type="text/javascript" src="./js/api.js"></script> 6<script type="text/javascript" src="./js/main.js"></script> 7</head> 8<body> 9・ 10・ 11・ 12</body> 13</html>
api
1api.js>> 2'use strict'; 3var teraApi = function() { 4 5 var _updateMenu; 6 var init = function( 7 updateMenu 8 ){ 9 _updateMenu = updateMenu; 10 }; 11 12 var getMenu = function() { 13 let attributes = {}; 14 let callback = function(response) { 15 _updateMenu(response.Data); ※ここでエラー出力 response.Dataは取得確認済 16 }; 17 let errMessage = 'エラーが発生しました。'; 18 _sendRequest(url, true, attributes, showLoading, callback, errMessage); 19 }; 20 21 var TeraApi = function(){}; 22 TeraApi.prototype.getMenu = getMenu; 23 return new TeraApi(); 24};
main
1main.js>> 2'use strict'; 3function updateMenu(data) { 4・・・処理省略 5} 6 7$(function() { 8 // 初期化 9 objApi = teraApi(); 10 objApi.init( 11 updateMenu 12 ); 13}); 14 15$(window).on('load', function(){ 16 objApi.getMenu(); 17});
試したこと
ブラウザのデバックで、エラー出力される前に関数が初期化されており
別の処理で複数呼び出している箇所もないのですが、他に原因が解らずの状況です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/09 04:07
2020/12/09 04:12
2020/12/09 05:00