日期:2014-05-18  浏览次数:20760 次

responseText没有把值返回
有两个aspx页面,一个是a,一个是b,我在a页面通过XMLHttpRequest对象向b页面传过去一个值,并在b页面进行处理之后返回判断值(如1或0),但是在a页面的responseText却没有接受到值,请问这是怎么回事? 

如下是我的C#后台代码: 

C# code
protected void Page_Load(object sender, EventArgs e)
    {
        DataOperation dbo = new DataOperation();
        int returnValue;
        string username = Convert.ToString(Request.QueryString["value"]);
        returnValue = dbo.ChkUserName(username);
        if (returnValue > 0)
        {
            returnValue = 1;
        }
        else
        {
            returnValue = 0;
        }

        Response.Write(returnValue);
    }






如下是我的JavaScript代码: 

JScript code
//检测目标是否存在数据库中
function chkIsExist(testValue,url)
{
  var xmlhttp;
  try
  {
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e)
  {
      try
      {
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
          try{ xmlhttp=new XMLHttpRequest(); }
          catch(e){}
      }
  }

  xmlhttp.open("get",url+"?value="+escape(testValue));
  xmlhttp.onreadystatechange=function ()
  {
    if(4==xmlhttp.readyState)
    {
       if(200==xmlhttp.status)
       {
          //根据responseText判断值是否存在
          if(xmlhttp.responseText=="1")
          {
             return true;
          }
          else
          {
             return false;
          }
       }
    }
  }
  xmlhttp.send(null);
  





另外这段JS代码在火狐上没有任何反应,不清楚是为什么?

------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
{
DataOperation dbo = new DataOperation();
int returnValue;
string username = Convert.ToString(Request.QueryString["value"]);
returnValue = dbo.ChkUserName(username);
if (returnValue > 0)
{
returnValue = 1;
}
else
{
returnValue = 0;
}

Response.Write(returnValue);
Response.End() }



if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{