gpt4 book ai didi

Ajax,XMLHttpRequest 状态未指定错误

转载 作者:行者123 更新时间:2023-12-05 00:39:22 24 4
gpt4 key购买 nike

我正在研究书中的 Ajax 示例,而书中的示例不起作用,我在 IE 8 和 FireFox 中尝试过。 asyncRequest.status 返回“未指定的错误”。我只是在 Ajax 中闲逛,这里有什么问题?谢谢你。

<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.box { border: 1px solid black;
padding: 10px }
</style>
<title>Switch Content Asynchronously</title>
<script type = "text/javascript" language = "JavaScript">
var asyncRequest; // variable to hold XMLHttpRequest object

// set up and send the asynchronous request.
function getContent( url )
{
// attempt to create the XMLHttpRequest and make the request
try
{
asyncRequest = new XMLHttpRequest(); // create request object

// register event handler
asyncRequest.onreadystatechange = stateChange;
asyncRequest.open( 'GET', url, true ); // prepare the request
asyncRequest.send( null ); // send the request
} // end try
catch ( exception )
{
alert( 'Request failed.' );
} // end catch
} // end function getContent

// displays the response data on the page
function stateChange()
{
if ( asyncRequest.readyState == 4 && asyncRequest.status == 200 )
{
document.getElementById( 'contentArea' ).innerHTML =
asyncRequest.responseText; // places text in contentArea
} // end if
} // end function stateChange

// clear the content of the box
function clearContent()
{
document.getElementById( 'contentArea' ).innerHTML = '';
} // end function clearContent
</script>
</head>
<body>
<h1>Mouse over a book for more information.</h1>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/cpphtp6.jpg"
onmouseover = 'getContent( "cpphtp6.html" )'
onmouseout = 'clearContent()'/>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/iw3htp4.jpg"
onmouseover = 'getContent( "iw3htp4.html" )'
onmouseout = 'clearContent()'/>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/jhtp7.jpg"
onmouseover = 'getContent( "jhtp7.html" )'
onmouseout = 'clearContent()'/>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/vbhtp3.jpg"
onmouseover = 'getContent( "vbhtp3.html" )'
onmouseout = 'clearContent()'/>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/vcsharphtp2.jpg"
onmouseover = 'getContent( "vcsharphtp2.html" )'
onmouseout = 'clearContent()'/>
<img src =
"http://test.deitel.com/examples/iw3htp4/ajax/thumbs/chtp5.jpg"
onmouseover = 'getContent( "chtp5.html" )'
onmouseout = 'clearContent()'/>
<div class = "box" id = "contentArea">&nbsp;</div>
</body>
</html>

更新:我在原始帖子中没有提到我在本地机器上运行这个示例。出于安全原因(我相信,如果我错了,请纠正我),Ajax 不能在本地机器上工作,除非它通过域以某种方式引用。我将脚本上传到服务器,它工作得很好。

最佳答案

在 readyState=4 (完成)之前,请求状态在 IE 中不存在,因此您的检查应该是两次检查。 . .像这样试试。 . .

 if (req.readyState == 4){
// req is complete (200 for web servers, 0 for local files in IE)
if ((req.status == 200)||(req.status == 0)){
// good
} else{
// error
}
}

此外,Firefox 永远不会为文件//协议(protocol)返回 readyState 4 ,但如果 readyState 不是 4 ,则尝试访问状态时出现 ie6 错误。 . . .仍然在我的一个页面中解决一些问题,这些页面需要在网络服务器上工作,并且在 ie6、ie 8 和 firefox 中使用本地文件(文件协议(protocol))

关于Ajax,XMLHttpRequest 状态未指定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4472667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com