我只是尝试执行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>
最佳答案
您的浏览器不知道“text/javascript”
是什么语言。它只知道语言 "javascript"
和 MIME 类型 "text/javascript"
。你把两者搞混了。
您可以将其更改为 language="javascript"
或 type="text/javascript"
。
<script type="text/javascript">
language
无论如何都是一个过时的属性; type
更现代。
关于Javascript 函数未定义,ReferenceError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021891/