【问题标题】:What is wrong with my simple AJAX example. Does you website have to be on a server?我的简单 AJAX 示例有什么问题。您的网站必须在服务器上吗?
【发布时间】:2013-06-22 21:15:20
【问题描述】:

我不确定我的所有文件都在同一个文件夹中有什么问题。首先我会发布 HTML,然后是 AJAX,最后是 .txt 文件。

HTML:

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Title of webpage</title>
    <link rel="stylesheet" type="text/css" href="main.css">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="javascript.js"></script>
</head>
<body>
    <div id="myDiv"><h2>Let AJAX change this text</h2></div>
    <button onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

还有我的 javascript/AJAX:

function loadXMLDoc(){
var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET", "test.txt", true);
xmlhttp.send();
}

还有我的 .txt 文件:

<h3>This text was changed</h3>
<p>And also I added a random paragraph</p>

提前感谢您的帮助。

【问题讨论】:

  • 你这样做是因为你只是在学习吗????因为有更简单的方法来做到这一点......
  • 会发生什么?你有任何错误吗?另外,如果您包含 jQuery,为什么要使用 XMLHttpRequest
  • 是的,您需要一个网络服务器。您正在执行 ajax 调用,它执行 HTTP 请求。没有 http 服务器就无法进行 HTTP。
  • 是的,如果您想在本地运行 AJAX 请求,您需要 WAMP(Windows 的 Web 服务器堆栈)之类的东西。这就是在 jQuery 中实现 AJAX 请求的方式 - stackoverflow.com/a/6470614/2470724

标签: javascript html ajax textchanged


【解决方案1】:

对于您使用 AJAX 的第一步来说,您所拥有的东西看起来相当不错。但是你真的需要一个网络服务器。要使您的示例工作,请执行以下操作:

  1. 在您的计算机上安装网络服务器。我建议您在第一步中使用 XAMPP。从这里获取它:http://www.apachefriends.org/en/xampp.html 您不应该自己配置某些东西,只需安装它,您应该会得到一个运行“开箱即用”的网络服务器。
  2. 将所有文件放在htdocs 文件夹中。在我的示例中,我将 HTML 文件命名为 ajax.html
  3. 确保您的网络服务器正在运行。打开浏览器并导航到localhost。您应该会看到一个带有大 XAMPP 的页面。
  4. 导航到localhost/ajax.html。我测试了你的代码,它工作正常。

也许this W3CSchools AJAX tutorial可以为您提供更多关于AJAX的信息。

【讨论】:

  • 谢谢你,这很有帮助,我已经在使用 W3C 学校,以防你没有注意到。这就是我需要确认我做错了什么。
【解决方案2】:

通过查看您发布的内容,我认为问题在于您没有在 Web 服务器上运行它。在您的 javascript 上,您在客户端使用 GET 方法请求 test.txt,但没有后端使用 text.txt 文件回答 get 请求。

您可以通过安装像 apache 这样的网络服务器并将您的文件放在 www 或 httpdocs 文件夹中来实现这一点。

【讨论】:

  • 所以我可以将文本文件放在一个名为 httpdocs 的文件夹中,或者我需要安装一个 Web 服务器。顺便说一下,第一次使用 AJAX。我知道它涉及服务器,但我认为只需在浏览器中测试它就可以工作。
猜你喜欢
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多