Jquery / Guidon message d'erreur - Uncaught TypeError: Object [object object] n'a pas de méthode 'match'
je travaille sur un petit projet d'apprentissage et ont rencontré un problème que je ne peux pas travailler.
Je reçois le message d'erreur suivant sur 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
Maintenant ce indique à une erreur avec le code suivant dans le guidon de scripts
match = this._input.match(this.rules[rules[i]]);
Uncaught TypeError: Object [object Object] has no method 'match'
Donc ce que je retiens, c'est qu'il doit y avoir un problème avec mon code et pas le guidon du code même si il est en version beta.
Ici est la section de code que coups de pied tout.
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();
}
J'ai passé des heures à essayer de travailler ça et moi-même ont eu quasiment le même article du code de travail dans une autre partie de mon site.
Peu de fond - je suis à l'aide de php pour la traction d'une base de données de mysql et ensuite à interroger la base de données basées sur les utilisateurs d'entrée et de jquery pour superposer les champs à l'arrière sur la page.
- Trouvé la solution. J'ai laissé la .html() pour l'instruction suivante JobInfoTemplate: $('#job_info_template').html().
- J'ai eu le même problème, et votre réponse fixe pour moi. Pour la postérité, vous devez le présenter comme une réponse à cette question et il faut l'accepter. 🙂
Vous devez vous connecter pour publier un commentaire.
Ce qui se passe si vous essayez de compiler un modèle à partir d'un élément jquery objet au lieu de partir d'une chaîne. Par exemple
et puis
Vous pourrait s'attendre à exploser tout de suite, mais il ne le fait pas. Il devrait plutôt être
Si vous avez trouvé le modèle en tant que text/html, alors votre modèle peut être un htmlDocument. Si vous initialisez le modèle comme suit, alors cela fonctionnera très bien.
}
Si vous utilisez la réponse de param au lieu de jqHXR.responseText ensuite, vous recevrez le "match" n'est pas trouvée. Je l'ai essayé.
match
s'appliquent à la chaîne seulement. Vous devez l'appliquer à la valeur de l'entrée.Si c'est un objet jQuery, vous pouvez utiliser
_input.val()
sinon_input.value
devrait fonctionner.D'autre part, il fait partie de la bibliothèque, vous voudrez peut-être vérifier quel type de données sont attendues à l'entrée et ce que vous êtes réellement l'envoi.
null
, par exemple, est un objet en javascript, alors vous voudrez probablement changer dans une chaîne vide si la bibliothèque ne possède pas le gérer.