使用ajax的这段代码有什么问题
What is wrong with this code using ajax?
我是编码新手,现在我正试图编写一段代码,从文件中获取文本数据,并用新文本替换当前文本。我使用AJAX来完成这项任务,但问题是首先我得到了错误消息,然后是预期的答案。错误消息是我在代码中包含的内容,当出现错误时会显示。尽管我得到了想要的答案,但我想知道为什么会显示错误消息。这是我的代码
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
<script>
function loadXML() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest;
}
else {
xmlhttp = new ActiveXObject("MICROSOFT.XMLHTTP")
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("p1").innerHTML = xmlhttp.responseText;
}
else {
alert(" there is a error in your code");
}
}
xmlhttp.open("GET","robots.txt", true);
xmlhttp.send(null);
}
</script>
</head>
<body>
<p id="p1">This is Text</p>
<button id="b1" onclick="loadXML()">Click me </button>
</body>
</html>
问题在于onreadystatechange中的if块。在请求和响应过程中,xmlhttp.readyState多次更改,每次发生这种情况时都会调用onreadystatechange。
如果你这样做,它可能会起作用:
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 ) {
if( xmlhttp.status == 200 ) {
document.getElementById("p1").innerHTML = xmlhttp.responseText;
} else {
alert(" there is a error in your code");
}
}
然而,使用其他事件方法(如onload和oneror)更简单,如本文所述。
1-包含1个jQuery文件jquery-1.9.0.js
与jquery-1.9.0.min.js
相同,但jquery-1.9.0.min.js
是缩小文件
2-javaconsole日志中的错误消息是什么?
3-您使用的是jQuery,所以为什么您使用XMLHttpRequest
,而jQuery $.get
已经为所有浏览器使用了最好的HttpRequest
你可以用这个替换你的JS代码
<script type="text/javascript">
$( document ).ready(function() {
$.get('robots.txt',function(data){ $('#p1').html(data) });
});
<script>
您在使用Web服务器吗?Ajax无法从本地文件url运行:'file://...'
alert(" there is a error in your code");
实际上,您的代码中没有错误。CCD_ 7在请求的不同状态下被调用。这就是您检查xmlhttp.readyState == 4
的原因。在此处了解有关不同阶段的更多信息:http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp所以你的代码运行得很好,你只是提醒一条错误消息,这根本不是错误。
- 有什么工具可以轻松读取javascript代码吗
- 我不知道为什么我的代码是错误的?又有什么错
- 这个代码在网页中的作用和要求是什么
- 什么'这个javascript代码getElementById有问题
- 问号在这段代码中是什么意思
- 什么'这是谷歌分析跟踪代码使用的技术
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 此nodeValue替换代码有什么问题
- 什么正在取代我的'以及“;javascript代码中使用&#39;和&”;
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 这个代码出了什么问题?(Jquery)
- 什么'这个javascript代码有错吗?(已关闭)
- 控制台中的“function floor(){[本机代码]}”是什么
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 这个代码是什么意思(history.replaceState和history.pushstate)
- 什么'这是一个神奇的javascript代码,用于以及如何创建它
- 这段代码的含义是什么<%=一些可变的%>
- 有人能解释一下evaluate()和dragAndDrop()在下面的角度测试代码中调用了什么吗
- 为什么这个 JQuery 代码什么都不返回