如何创建xmlhttprequest?

时间:2009-11-07 13:44:40

标签: javascript ajax

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

4 个答案:

答案 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');