我只是尝试执行 Ajax请求,而是最终在控制台上出现 ReferenceError:getData未定义。这段代码在6个月左右的时间里运行良好。我已经提到了一些先前提出的问题,但没有好处。
这是代码:
<html>
<head>
<script language = "text/javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new
ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<form>
<input type = "button" value = "Fetch the message"
onclick = "getData('data.txt', 'targetDiv')">
</form>
<div id="targetDiv">
<p>The fetched message will appear here.</p>
</div>
</body>
</html>
答案 0 :(得分:3)
您的浏览器不知道"text/javascript"
是什么语言。它只知道语言"javascript"
和MIME类型"text/javascript"
。你把两者搞混了。
您可以将其更改为language="javascript"
或type="text/javascript"
。
<script type="text/javascript">
无论如何, language
是一个过时的属性; type
更现代化。