Sto lavorando su un piccolo progetto di apprendimento e ho riscontrato un problema che non riesco a risolvere.Messaggio di errore Jquery/Handlebars - Uncaught TypeError: Object [oggetto Object] non ha alcun metodo 'match'
ottengo il seguente messaggio di errore su google console chromes dev: -
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
Ora, questo si presenta a un errore con il seguente codice nel manubrio scrips
match = this._input.match(this.rules[rules[i]]);
Uncaught TypeError: Object [object Object] has no method 'match'
Quindi quello che prendo da questo è che ci deve essere un problema con il mio codice e non con il codice manubrio, anche se è in versione beta.
Ecco la sezione del codice che ha dato il via a tutto.
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();
}
Ho passato ore a cercare di lavorare questo fuori me stesso e ho avuto quasi la stessa sezione di codice a lavorare in un'altra parte del mio sito.
Po 'di fondo - Sto usando php per tirare un database da MySQL e poi per interrogare il database in base a come input degli utenti e jQuery per sovrapporre i campi indietro sulla pagina.
Trovato la correzione. Ho lasciato il .html() per la seguente dichiarazione JobInfoTemplate: $ ('# job_info_template'). Html(). – monkeylumps
Stavo avendo lo stesso problema e la tua risposta lo ha risolto per me. Per i posteri devi inviarlo come risposta a questa domanda e poi accettarlo. :) –