I call the function with a callback as follows:
$(function() {
This is the last callback with console.log ('test'), which is the problem.
this is the getPhone function:
person.prototype.getPhone = function(callback){ this.attempt++ if( this.attempt === 1){ var who = this.lastname; var where = this.adress+' '+this.postal; }else if(this.attempt === 2){ var who = this.firstname+' '+this.lastname; var where = this.adress+' '+this.postal; }else{ var who = this.firstname+' '+this.lastname; var where = this.adress+' '+this.postal; var url = 'http://personer.eniro.se/resultat/'+who+'/'+where; console.debug('') //console.debug('fail') console.debug(url) console.debug(this) return } var self = this; var url = 'http://personer.eniro.se/resultat/'+who+'/'+where; GM_xmlhttpRequest({ method: "GET", url: url, onload: function(data) { data = $.parseHTML(data.response); var vCard = $(data).find('.vcard') if (vCard.length === 1){ var phone = vCard.find('.tel.row a').map(function(){ return this.text }).get() self.officePhone = phone[0]; if(phone.length > 1){ self.mobilePhone = phone[1]; }else{ self.mobilePhone = ''; } callback(); } else if(vCard.length > 1){ self.getPhone() } } }) }
The callback starts when it should. But when the callback is present, I get an error message:
undefined is not a function
source share