【问题标题】:XMLHttpRequest delays in starting sessionXMLHttpRequest 延迟启动会话
【发布时间】:2013-04-22 06:53:57
【问题描述】:

我是 ajax 的初学者。当我使用 ajax 进行搜索功能时,它会延迟启动操作

<script>
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?gender="+str,true);
xmlhttp.send();
}
</script>

当单击product.php 页面上的单选按钮时,调用showUser(str)。该值在getuser.php 中的变量gender 中访问,会话以变量gender 中的值开始,使用会话变量执行sql 查询

$sql="SELECT * FROM tbl_product WHERE gender = '".$_SESSION['gender']."'";

这些值在txtHint div 中回显。我的问题是当我第一次单击单选按钮时,该函数被调用,但该值未在页面中回显。当我重新加载页面并再次尝试时,它工作正常。请帮助解决此问题

谢谢

【问题讨论】:

    标签: php ajax xmlhttprequest innerhtml


    【解决方案1】:

    把你的代码放进去

    window.onload
    

    功能。像这样

    window.onload = function() {
          function showUser(str)
    {
        if (str=="")
          {
          document.getElementById("txtHint").innerHTML="";
          return;
          }
        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("txtHint").innerHTML=xmlhttp.responseText;
            }
          }
        xmlhttp.open("GET","getuser.php?gender="+str,true);
        xmlhttp.send();
    }
    };
    

    【讨论】:

    • 感谢您的回复。我使用了您的代码,但它对我不起作用:( @chandresh_cool
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多