/ / la lettura da file di testo con ajax funziona su alcuni server ma non su altri? - javascript, jquery, ajax

la lettura da file di testo con ajax funziona su alcuni server ma non su altri? - javascript, jquery, ajax

Sto riscontrando un problema molto strano. Probabilmente dovrei iniziare sottolineando che sono un po 'nuovo per Ajax.

Attraverso molte letture qui e tutti voiesperti, sono riuscito a creare uno script che tramite chiamate ajax mi permette di leggere un file di testo sul mio server che contiene link ad immagini, queste immagini vengono poi visualizzate sulla mia pagina html.

Può sembrare una cosa strana da fare, ma l'ho fattoha effettivamente creato un programma Windows che scrive frequentemente su questo file di testo. Ciò consente alla mia pagina html di visualizzare immagini dinamiche in base all'output di testo dal mio programma Windows.

Ora, il problema ...

Quando il file di testo si trova nella cartella pubblica della mia casella personale, il sito funziona alla grande. Ajax estrae il testo dall'interno del file di testo e visualizza le immagini.

Ora quando prendo lo STESSO file di testo e lo ftpfino al mio server Ubuntu, Ajax non legge più il file di testo. Tutte le altre configurazioni rimangono le stesse tranne l'URL ajax src che ovviamente punta alla nuova posizione del file di testo.

Codice che funziona:

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

E il codice che non funziona (tutte le immagini e i file di testo sono uguali tranne il file di testo ospitato su un server diverso)

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

Forse ha qualcosa a che fare con i tipi MIME o con qualche impostazione sul mio server?

Grazie per tutto il vostro aiuto!

risposte:

0 per risposta № 1

Come suggerito da JanR, questo era un problema interdominio. Questo è stato risolto aggiungendo il supporto CORS al server, secondo le istruzioni qui: http://enable-cors.org/server_apache.html