2014-03-06 40 views
0

我試圖從遠程URL檢索文本並將其放入當前頁面上的DIV中。首先,我試圖首先從本地文件中獲取文本,但似乎沒有拉動文本。有什麼建議麼?使用jQuery從頁面檢索文本

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>HTML5 with jQuery</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

</head> 
<body> 
    <div id="replace"> 
     Placeholder 
    </div> 

    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $.get("test.txt", function(data) { 
       $("#replace").html(data); 
       } 
      ); 
     }); 
    </script> 
</body> 
</html> 
+1

你打開'http://'的父頁面嗎?由於相同的原始策略,你不能在'file://'中這樣做。 –

+0

現在你提到了它 - 我相信它正在通過file://,我現在正在讓XAMPP進行更好的測試。 – Origin

+0

就是這樣......謝謝!我太生鏽了。 – Origin

回答

1

Same origin policy可以防止您的網頁在JavaScript的閱讀從另一個起源(大約域+端口)的部分頁面。

一個特例是file://協議之一:在這個協議中打開的所有文件都是從不同的來源考慮的。

這就是爲什麼你必須使用http服務器來測試你的AJAX代碼。

0

在$ .get()請求中使用'text'數據類型。

$.get('test.txt', function(data) { 
    $("#replace").html(data); 
}, 'text'); 

請注意,最後一個參數是字符串text

0
$.ajax({ 
      url : "test.txt", 
      dataType : 'text', 
      success: function(data) { 
       console.log(data); 
       // your ops 
      } 
});