2016-03-17 97 views
1

我遇到了一個很奇怪的問題。 我應該先指出我對ajax很陌生。從ajax文本文件中讀取在一些服務器上工作,但不是其他服務器?

通過大量閱讀這裏和所有的專家,我設法創建了一個腳本,通過Ajax調用允許我讀取包含圖像鏈接的服務器上的文本文件。這些圖像然後顯示在我的html頁面上。

這似乎很奇怪,但我實際上已經創建了一個windows程序,經常寫入這個文本文件。這允許我的html頁面根據我的Windows程序輸出的文本顯示動態圖像。現在

,問題...

當文本文件被坐在我的Dropbox的公用文件夾,該網站的偉大工程。 Ajax從文本文件中提取文本並顯示圖像。

現在,當我採用相同的文本文件,並將其ftp到我的Ubuntu服務器時,Ajax不再讀取文本文件。所有其他配置保持不變,除了當然指向新的文本文件位置的ajax URL src。該工程

代碼:

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

而且不工作的代碼(所有圖片和文字文件除了託管在不同服務器上的文本文件一樣)

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

這是有或許與我的服務器上的MIME類型或設置有關?

感謝您的幫助!

+0

在Chrome中查看開發人員控制檯時是否收到任何錯誤消息? – JanR

+0

太棒了,這聽起來像是一個跨域問題。看看這篇文章:http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource – JanR

+1

明白了!只需要在Apache的配置文件中啓用cors。非常感謝! – Mark

回答

相關問題