私は小さな学習プロジェクトに取り組んでいて、解決できない問題に遭遇しました。
google chromes dev consoleで次のエラーメッセージが表示されます:-
Uncaught TypeError: Object [object Object] has no method 'match'
lexer.nexthandlebars-1.0.0.beta.6.js:364
lexhandlebars-1.0.0.beta.6.js:392
lexhandlebars-1.0.0.beta.6.js:214
parsehandlebars-1.0.0.beta.6.js:227
Handlebars.parsehandlebars-1.0.0.beta.6.js:507
compilehandlebars-1.0.0.beta.6.js:1472
(anonymous function)handlebars-1.0.0.beta.6.js:1481
(anonymous function)scripts.js:103
jQuery.Callbacks.firejquery.js:1046
jQuery.Callbacks.self.fireWithjquery.js:1164
donejquery.js:7399
jQuery.ajaxTransport.send.callback
これで、ハンドルバーのスクリプトに次のコードが含まれるエラーが表示されます
match = this._input.match(this.rules[rules[i]]);
Uncaught TypeError: Object [object Object] has no method 'match'
だから私がこれから得たのは、ベータ版であっても、ハンドルバーコードではなく、私のコードに問題があるはずだということです。
これがすべてを開始したコードのセクションです。
displayJobInfo: function( e ) {
var self = Actors;
self.config.jobInfo.slideUp( 300 );
var jobnum = $(this).data( 'job_id' );
$.ajax({
data: { job_id: jobnum }
}).then(function( results ) {
self.config.jobInfo.html( self.config.JobInfoTemplate( { jobs: results, job_id: jobnum }) ).slideDown(300);
});
console.log($(this).data( 'job_id' ));
e.preventDefault();
}
私はこれを自分で解決するために何時間も費やし、私のサイトの別の部分でほぼ同じコードセクションを機能させました。
少し背景-私はphpを使用してmysqlからデータベースをプルし、ユーザーの入力に基づいてデータベースをクエリし、jqueryを使用してフィールドをページにオーバーレイします。