来自http request / javascript的变量值

时间:2013-12-29 13:45:27

标签: javascript jquery http request

我正在js中做一个http请求但是我无法访问从外部获得的数据。

if (window.XMLHttpRequest)
  {
  search=new XMLHttpRequest();
  }
else
  {
  search=new ActiveXObject("Microsoft.XMLHTTP");
  }
search.onreadystatechange=function()
  {
  if (search.readyState==4 && search.status==200)
    {
        nr = search.responseText;
        alert(nr.length); // here i get the actual length
    }
  }
search.open("GET","clienti.php",true);
search.send();
alert(nr);  // here the value is undefined

我试图在全局范围内声明变量,但仍然无效。请帮忙!

谢谢!

2 个答案:

答案 0 :(得分:0)

var nr;

if (window.XMLHttpRequest)
{
  search=new XMLHttpRequest();
}
else
{
  search=new ActiveXObject("Microsoft.XMLHTTP");
}
search.onreadystatechange=function()
{
  if (search.readyState==4 && search.status==200)
  {
    nr = search.responseText;         
    alert(nr.length); // here i get the actual length
  }
}
search.open("GET","clienti.php",true);
search.send();
alert(nr); 

您的代码nronreadystatechange阻止的私有代码。

答案 1 :(得分:0)

你有范围问题将nr定义为全局变量而不是尝试

 var nr=0;

    if (window.XMLHttpRequest)
      {
      search=new XMLHttpRequest();
      }
    else
      {
      search=new ActiveXObject("Microsoft.XMLHTTP");
      }
    search.onreadystatechange=function()
      {
      if (search.readyState==4 && search.status==200)
        {
            nr = search.responseText;
            alert(nr.length); // here i get the actual length
        }
      }
    search.open("GET","clienti.php",true);
    search.send();
    alert(nr);  /