标题:求助关于ajax问题
取消只看楼主
zk5693899
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-2-1
结帖率:0
已结贴  问题点数:0 回复次数:1 
求助关于ajax问题
最近终于用get方式实现了ajax无刷新页面显示文字。但是现在要改成post方式却出现了问题,代码如下:
html代码(/iknow/text/ajaxtext-1.php文件,因为要实现无刷新登录,所以用php给session赋值,后缀关系应该不大吧):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajaxtext-1</title>

<script language="javascript">

function createRequest() {

    try {

        request = new XMLHttpRequest();

    }

    catch (tryMS) {

        try {

            request = new ActiveXObject("Msxml2.XMLHTTP" );

        }

        catch (otherMS) {

            try {

                request = new ActiveXObject("Microsoft.XMLHTTP" );

            }

            catch (faild) {

                request = null ;

            }

        }

    }

    return request;

}

function onajax(name,age,sex){
    var message="name="+name+"&age="+age+"&sex="+sex;
    var request=null;
    var The_URL;
    The_URL="/iknow/text/text-1.php";
    alert(The_URL);
/*    if(window.XMLHttpRequest){
        request=new XMLHttpRequest();
    }
    else if (window.ActiveXOject){
        request=new ActiveXObject("Microsoft.XMLHTTP");
    }
    alert(request);
*/
    request=createRequest();
    alert(request);
    alert(message);
    if(request){
        request.open("POST",The_URL,true);
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        request.send(message);
        alert("1");
        request.onReadyStateChange=function(){
            if(request.readyState==4 && request.status==200){
                if(request.responseText){
                    document.getElementById("msg").innerHTML=request.responseText;
                }
            }
        }
        alert("2");
    }else{
        alert("please update your browser!");
    }
}
</script>
</head>

<body>

<form name="user_info" action="text-1.php" method="post">
姓名:<input type="text" name="name" id="name" /><br />
年龄:<input type="text" name="age" id="age" /><br />
性别:<input type="text" name="sex"id="sex"  /><br />
<input type="button" value="提交表单" onClick="onajax(document.getElementById('name').value,document.getElementById('age').value,document.getElementById('sex').value);">
<input type="submit" value="submit"  />
</form>

<div id="msg">sdfg</div>
</body>
</html>



php代码(/iknow/text/text-1.php文件,上面的):
<?
header('Content-Type:text/html;charset=gb2312');
echo $_REQUEST[name];
echo "<br/>";
echo $_REQUEST[age];
echo "<br/>";
echo $_REQUEST[sex];
echo "<br/>";
echo $_POST[name];
echo "<br/>";
echo $_POST[age];
echo "<br/>";
echo $_POST[sex];
echo "<br/>";

?>


点击submit跳转text-1.php就可以显示,但是用“提交表单”Button来实现无刷新处理,就发现直接跳过了request.onReadyStateChange。这是为什么?
搜索更多相关主题的帖子: ajax 
2010-02-01 15:06
zk5693899
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-2-1
得分:0 
还有就是createRequest()的每一句是什么意思?我在图书馆借了一本书,里面写的是:
var request=null;
if(window.XMLHttpRequest){
    request=new XMLHttpRequest();
}else{
    request=new ActiveXObject("Microsoft.XMLHTTP");
}
但是用ie却得不到请求对象。用ff得到请求对象却用不了onreadystatechange函数,网上有的说可以用js.onload。这又是什么函数或者说什么实践?

望高手指点下迷津。
2010-02-01 15:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-297016-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031388 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved