jquery加载外部文本

jquery load external text

本文关键字:文本 外部 加载 jquery      更新时间:2023-09-26

我是javascript和jquery的新手。我尝试在本地测试我的html。我可以正确地使用代码,如下所示。

<html>
<head>
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("div").load('test1.txt');
  });
});
</script>
</head>
<body>
<div><h2>Let AJAX change this text</h2></div>
<button>Change Content</button>
</body>
</html>

但是,当我把文字http://www.w3schools.com/jquery/test1.txt"而不是"test1.txt",按钮无法正常工作。请帮忙。

问候,

Tommy

您不允许进行跨浏览器ajax。

使用上面的代码,如果目标文件和代码文件都在本地,则可以从同一域或仅从本地加载文件。

您应该在服务器端语言的帮助下完成这项工作,比如您的javascript与自己的服务器文件(如test.phptest.aspx)通信,而服务器端文件可以与外部网站通信,如PHP中的CUrl

尽管您仍然可以进行一些跨浏览器的脚本或数据加载,如这里所示->如何在另一个JavaScript文件中包含一个JavaScript文件?

但它需要一些专门的技巧。

如果它是另一个域中的外部文件,请尝试以下操作:

//你的js

<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    var url='http://www.w3schools.com/jquery/test1.txt';
    $.get('myphppage.php',{url:url},function(data) {
        $('div').html(data);
    });   
  });
});
</script>

//显示外部文件内容的myphpage.php脚本

<?php
if(isset($_GET['url'])) {
    header("Content-type: text/plain");
    echo file_get_contents(urldecode($_GET['url']));
}
?>