var url="display.php?vote="+grade;
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
这段代码无法发出请求。如何正确创建xmlHttp
?
答案 0 :(得分:2)
<script type="text/javascript">
function ajaxFunction()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
}
</script>
这段代码可以在link text中找到,你可以像我一样学习基础知识。希望这有帮助。
答案 1 :(得分:0)
这是一个“80%”的解决方案。
function GetXHR()
{
try
{
if (window.XmlHTTPRequest)
xmlHttp = new XmlHTTPRequest()
else
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0")
}
catch(e) { }
}
var xmlHttp = GetXHR()
if (xmlHttp)
{
// Proceed with xmlHttp usage.
}
修改强>
注意我倾向于避免旧的ProgID“Microsoft.XMLHTTP”支持我使用的那个,因为后来的ProgID具有更可预测的行为并且更加安全。但是,如果你想要与更老的Windows机器更广泛的兼容性(我说的是不支持的东西)那么你可以在你的特定情况下使用旧版本。
答案 2 :(得分:0)
相对于当前上下文,相对URL可能是错误的。根据迄今发布的信息很难说。您需要调查XHR状态以获取更多详细信息。
至少,w3schools.com有一个很好的基本Ajax教程。在了解了Ajax / Javascript的工作原理后,我建议您继续使用jQuery,它会从您手中获取所有讨厌的浏览器特定工作。
祝你好运。答案 3 :(得分:0)
var xmlHttp=new(window.ActiveXObject?ActiveXObject:XMLHttpRequest)('Microsoft.XMLHTTP');