2014-03-06 44 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 
      } 
});