在新位置从php获取响应时出现问题

时间:2009-07-14 20:08:58

标签: javascript

目前我的Html的位置是 http://severname.com/qotw.html。单击按钮,我调用login();

login()javascript函数,如下所示:

function login()
{  
  passwrd = document.f_signin.password.value;
  username = document.f_signin.username.value;

  if (username==""){ document.getElementById("response").innerHTML="<font color='red'>Enter your User Name to login.</font>";}
  else if (passwrd==""){ document.getElementById("response").innerHTML="<font color='red'>You did not enter your password. Enter your password and try again.</font>";}

  if (passwrd!="" && username!="")
  {    
    xmlhttp=GetXmlHttpObject();
    //alert("pass");
    if(xmlhttp==null)
    {
      alert("Your browser does not support AJAX!");
      return;
    }
    var url="login.php";
    url=url+"?id="+username+"&passwrd="+passwrd;
    xmlhttp.onreadystatechange=statechangedLogin;
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);
  }
}

function statechangedLogin()
{
  //alert(xmlhttp.readyState);
  if(xmlhttp.readyState==4)
  {
    if(xmlhttp.responseText=="<font color='red'>Your User Name or Password is incorrect. Please try again.</font>")
    {
      document.getElementById("response").innerHTML=xmlhttp.responseText;
    }
    else 
    {
      document.location="http://servername.com/login.php";
      //document.getElementById("mainbody").
      document.innerHTML=xmlhttp.responseText;
    }
  }
}

我想在“http://severname.com/login.php

位置显示login.php的回复

我该怎么做?页面的位置从qotw.html更改为login.php,但login.php不会在其中显示任何内容。

Zeeshan

1 个答案:

答案 0 :(得分:1)

使用

document.location="http://servername.com/login.php";

您建议浏览器从给定的网址请求其他文档。这个新文档将替换当前文档,并且您当前文档中的“javascript”不会影响新文档(更多)。
您可能正在设置cookie以跟踪会话。为什么不简单地重定向到login.php并让该脚本检查cookie。如果它是一个有效的会话,只需打印类似

的内容
You are currently logged in as userXYZ