var theName = document.getElementById("username").value;
    alert("name"+theName);
    var username = escape(theName);
    alert("escape_name"+username);
    var url= "checkName.php?username=" + username;
      alert("url"+url);
    request.onreadystatechange = showUsernameStatus;
    request.open("GET", url, true);
    request.send(null);
上面代码是常用的请求模式。
问题1、request.onreadystatechange = showUsernameStatus;
    request.open("GET", url, true);
这两句是否可以颠倒?
问题2、最后为何要request.send(null);

解决方案 »

  1.   

    问题1:我觉得可以颠倒,因为这个时候只是初始化这个request对象。你也可以实际试下。
    问题2:send调用后才会把请求发到后台,前面都是初始化,因为你使用get方式,一般不提交数据,所以send的参数为null.如果你使用post。那么send的参数可以是你想提交给服务器的数据。
      

  2.   

    1.可以颠倒,request.onreadystatechange = showUsernameStatus;定义的是状态改变时的触发函数,和request.open("GET", url, true);颠倒没关系
    2.因为用的是get,所以要request.send(null),不写的话数据传不出去;如果用post传值的话,request.send();里面放的就是要传递的值
      

  3.   

    我会告诉你 这是组织上定的标准 吗?
    要用 XHR 就要这么做, 顺序, 参数都不能错