/ / la lecture d'un fichier texte avec ajax fonctionne sur certains serveurs mais pas sur d'autres? - javascript, jquery, ajax

lire à partir d'un fichier texte avec ajax fonctionne sur certains serveurs mais pas sur d'autres? - javascript, jquery, ajax

Je rencontre un problème très étrange. Je devrais probablement commencer par signaler que je suis un peu nouveau dans ajax.

Grâce à de nombreuses lectures sur ici et sur vous tousexperts, j'ai réussi à créer un script qui, grâce à des appels ajax, me permet de lire un fichier texte sur mon serveur contenant des liens vers des images. Ces images sont ensuite affichées sur ma page html.

Cela peut sembler une chose étrange à faire, mais j'aia en fait créé un programme Windows qui écrit fréquemment dans ce fichier texte. Cela permet à ma page html d'afficher des images dynamiques en fonction de la sortie de texte de mon programme Windows.

Maintenant, le problème ...

Lorsque le fichier texte se trouve dans mon dossier public Dropbox, le site Web fonctionne très bien. Ajax extrait le texte du fichier texte et affiche les images.

Maintenant, quand je prends ce MÊME fichier texte et que je le ftpjusqu'à mon serveur ubuntu, Ajax ne lit plus le fichier texte. Toutes les autres configurations restent les mêmes à l'exception de l'URL ajax src bien sûr pointant vers le nouvel emplacement du fichier texte.

Code qui fonctionne:

<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url : "https://dl.dropboxusercontent.com/u/********/status.txt",
dataType: "text",
success : function (data) {
console.log(data)
var lines = data.split(",")
for (var i = 0; i < lines.length; i++) {
var img = $("<img class="dynamic">");
img.attr("src", lines[i]);
img.appendTo("#status");
}
}
});
});
</script>
</head>
<body>
<div id="status"></div>
</body>
</html>

Et le code qui ne fonctionne pas (toutes les images et tous les fichiers texte sont identiques sauf le fichier texte hébergé sur un serveur différent)

<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow" />
<title></title>
<script src="/images/https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url : "http://a-different-server.com/status.txt",
dataType: "text",
success : function (data) {
console.log(data)
var lines = data.split(",")
for (var i = 0; i < lines.length; i++) {
var img = $("<img class="dynamic">");
img.attr("src", lines[i]);
img.appendTo("#status");
}
}
});
});
</script>
</head>
<body>
<div id="status"></div>
</body>
</html>

Est-ce que cela a peut-être quelque chose à voir avec les types mime ou certains paramètres sur mon serveur?

Merci pour votre aide!

Réponses:

0 pour la réponse № 1

Comme le suggère JanR, il s'agissait d'un problème interdomaine. Ce problème a été résolu en ajoutant le support CORS au serveur, selon les instructions ici: http://enable-cors.org/server_apache.html