Voilà ce que je voudrais faire:Comment obtenir XMLHttpRequest responseText en utilisant .bind en Javascript?
response: string;
sendCreateInvoice(invoice, job){
let url = 'assets/php/myScript.php';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
this.response = this.responseText;
};
};
xmlhttp.open('POST', url, true);
xmlhttp.send(invoice);
}
donc je pense que je dois utiliser .bind(this)
mais quand je fais ce que je ne peux pas sembler accéder this.responseText
plus. J'ai essayé comme ceci:
response: string;
sendCreateInvoice(invoice, job){
let url = 'assets/php/myScript.php';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
this.response = this.responseText;
};
}.bind(this);
xmlhttp.open('POST', url, true);
xmlhttp.send(invoice);
}
Et j'ai essayé this.xmlhttp.responseText
et xmlhttp.responseText
mais pas de chance. Où vais-je mal? Comment puis-je sauvegarder le responseText
en response
?
==================
Code de travail:
response: string;
sendCreateInvoice(){
let url = 'assets/php/myScript.php';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange =() => {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
this.response = xmlhttp..responseText;
};
};
xmlhttp.open('POST', url, true);
xmlhttp.send(invoice);
}
'xmlhttp.responseText' aurait dû fonctionner. Peut-être avez-vous oublié 'xmlhttp.readyState' et' xmlhttp.status'? – Barmar