/ / čítanie z textového súboru s Ajaxom funguje na niektorých serveroch, ale na iných nie? - javascript, jquery, ajax

čítanie z textového súboru s Ajaxom funguje na niektorých serveroch, ale na iných nie? - javascript, jquery, ajax

Narážam na veľmi zvláštny problém. Asi by som mal začať poukázaním na to, že som v Ajaxe nový.

Čítaním tu a vás všetkýchexperti, podarilo sa mi vytvoriť skript, ktorý mi prostredníctvom hovorov ajax umožňuje prečítať textový súbor na mojom serveri, ktorý obsahuje odkazy na obrázky. Tieto obrázky sa potom zobrazia na mojej html stránke.

Môže sa to zdať čudné, ale mámskutočne vytvoril program Windows, ktorý často píše do tohto textového súboru. Toto umožňuje mojej html stránke zobrazovať dynamické obrázky na základe textového výstupu z môjho programu Windows.

Teraz je problém ...

Keď textový súbor sedí v mojom verejnom priečinku schránky, web funguje skvele. Ajax stiahne text z textového súboru a zobrazí obrázky.

Teraz, keď vezmem ten istý textový súbor, a ftp hoaž po môj server ubuntu, Ajax už nečíta textový súbor. Všetky ostatné konfigurácie zostávajú rovnaké, okrem adresy Ajax URL src, ktorá samozrejme ukazuje na nové umiestnenie textového súboru.

Kód, ktorý funguje:

<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>

A kód, ktorý nefunguje (všetky obrázky a textové súbory rovnaké, okrem textových súborov hostených na inom serveri)

<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>

Má to niečo spoločné možno s typmi mime alebo nejakým nastavením na mojom serveri?

Ďakujeme za vašu pomoc!

odpovede:

0 pre odpoveď č. 1

Ako naznačil JanR, išlo o problém viacerých domén. Toto sa vyriešilo pridaním podpory CORS na server podľa pokynov tu: http://enable-cors.org/server_apache.html