Javascript ajax状态=0
我正在尝试从本地计算机上的远程服务器获取信息。 readyState没有问题,即==4。但是,状态始终为0(而不是200) 当我按下按钮时,它什么也不返回 这是代码:Javascript ajax状态=0,javascript,ajax,status,Javascript,Ajax,Status,我正在尝试从本地计算机上的远程服务器获取信息。 readyState没有问题,即==4。但是,状态始终为0(而不是200) 当我按下按钮时,它什么也不返回 这是代码: <html> <head> <script type="text/javascript"> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome,
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",'http://www.spartanbook.com/textbooks_xml.asp?control=campus&campus=45&term=80',true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html>
函数loadXMLDoc()
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”http://www.spartanbook.com/textbooks_xml.asp?control=campus&campus=45&term=80",对),;
xmlhttp.send();
}
让AJAX更改此文本
更改内容
它基本上来自w3shcools。只需替换url即可。
当我将它粘贴到浏览器的地址栏时,我使用的url正在工作
有什么想法吗?
谢谢 检查您是否没有提出跨域请求 例如,如果您没有从此页面提供服务,那么预期结果将是访问被拒绝,这很奇怪,readyState为4,但状态为0
如果需要发出跨域请求,则需要使用代理。检查您是否没有发出跨域请求 例如,如果您没有从此页面提供服务,那么预期结果将是访问被拒绝,这很奇怪,readyState为4,但状态为0
如果需要发出跨域请求,则需要使用代理。此错误代码表示响应为空。似乎是防火墙问题此错误代码表示响应为空。似乎是防火墙问题正如Gavin所说,您的问题似乎是您正在发出跨域请求,由于安全原因,大多数浏览器都会阻止该请求: 我建议您将代码从本地计算机移动到满足“同一原产地政策”的地方,您的情况是www.spartanbook.com上的某个地方
然而,有一个解决问题的方法,那就是使用。这将允许您从另一个域上的程序获取JSON数据。正如Gavin所说,您的问题似乎是您正在发出跨域请求,由于安全原因,大多数浏览器都会阻止该请求: 我建议您将代码从本地计算机移动到满足“同一原产地政策”的地方,您的情况是www.spartanbook.com上的某个地方
然而,有一个解决问题的方法,那就是使用。这将允许您从另一个域上的程序获取JSON数据。“任何想法?”:不要使用w3schools:-)它不起作用,因为。“任何想法?”:不要使用w3schools:-)它不起作用,因为.Gavin,我可以通过浏览器访问内容,但不能通过代码访问。所以我猜它与域无关。@user788072:这正是问题所在——跨域策略适用于JavaScript代码中的JavaScript异步请求。当然,您可以在浏览器中访问它--您的浏览器可以访问任何域+1来抵消可能的不知情的否决票,直到被否决的人出来解释原因,事实上有一个很好的理由。嗨,程。您需要通过本地代理传递请求。请以这个链接为例。Gavin,我可以通过浏览器访问内容,但不能通过代码访问。所以我猜它与域无关。@user788072:这正是问题所在——跨域策略适用于JavaScript代码中的JavaScript异步请求。当然,您可以在浏览器中访问它--您的浏览器可以访问任何域+1来抵消可能的不知情的否决票,直到被否决的人出来解释原因,事实上有一个很好的理由。嗨,程。您需要通过本地代理传递请求。请以这个链接为例。防火墙从我这边还是他们那边?防火墙从我这边还是他们这边?