Une alternative à xmlhttprequest?
-
14-11-2019 - |
Question
J'écris une extension Firefox. J'utilise un script de contenu qui correspond à un domaine spécifique. Je veux obtenir des données d'une page PHP. Ajoutant finalement un fichier CSS à la page pour modifier le style. Le contenu de la page PHP sera le nom du fichier CSS que je récupérera. Voici mon script de contenu javascript, l'alerte ne renvoie rien.
On m'a dit que je suis limité par la même politique d'origine. Y a-t-il un moyen d'obtenir des données de la page PHP?
function getData() {
client = new XMLHttpRequest();
try{
client.open('GET','http://localhost:8888/istyla/login/popuplogin/myaccount.php');
} catch (e){
alert( "error while opening " + e.message );
}
client.onreadystatechange = function(){
if (client.readyState ==4){
user_data = client.responseText;
var currenttheme = user_data;
alert (currenttheme);
}
}
client.send(null);
}
getData();
La solution
Vous cherchez Jsonp.
Autres conseils
Vous pouvez utiliser API Fetch, ce n'est pas pris en charge par Safari ou c'est-à-dire pour l'instant, mais c'est une bonne alternative.
Vous l'utilisez comme:
function getData(){
fetch('flowers.jpg').then(function(response) {
return response.blob();
})
}
if(self.fetch) {
// run my fetch request here
var resp = getData();
} else {
// do something with XMLHttpRequest?
}
Vous pouvez obtenir plus d'informations à partir de MDN utilisant API Fetch. Tu peux vouloir Plus d'utilisation à l'avance.
Mise à jour: vous pourriez trouver cet article utile C'est tellement récupéré!