Si l'URL est assignée manuellement, par exemple imgUrl = "http: //image.jpg", elle fonctionne parfaitement, mais si elle est reçue avec l'utilisation d'AJAX dans la fonction "getRemote "à partir de l'arrière ne l'a pas fait. Si la requête asynchrone n'est même pas dans ce bloc, mais si elle est synchrone, elle est reçue, mais l'objet AR ne peut pas l'utiliser. Des idées pourquoi?L'objet Javascript ne peut pas accéder à l'URL s'il a été reçu d'AJAX
var imgUrl = getRemote();
this.img = new AR.ImageResource(imgUrl);
this.imgOverlay = new AR.ImageDrawable(this.img, 0.5, {
offsetX: 0,
offsetY: 0,
});
fonction getRemote:
function getRemote() {
return $.ajax({
type: "GET",
url: "http://someurl.php",
async: true
}).responseText;
}
Il est préférable d'afficher même le code getRemote() parce que le sentiment est que l'erreur peut être dans cette fonction. – pinturic
Lorsqu'il est asynchrone, le code continuera à s'exécuter avant la fin de la requête AJAX. Pouvons-nous voir le résultat/code de la méthode 'getRemote()'? C'est probablement la racine du problème –
[Comment retourner la réponse d'un appel asynchrone?] (Https://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous- appel) et peut-être [Cross javascript concept de domaine] (https://stackoverflow.com/questions/25310450/cross-domain-javascript-cors-concept) – Andreas