Ajax的Post方式提交数据

时间:2015/12/3 22:41:00来源:互联网 作者:flyso 点击: 1176 次
<SCRIPT LANGUAGE="javascript">
<!–      


function saveUserInfo()
{
    //获取接受返回信息层
    var msg = document.getElementById("msg");

    //获取表单对象和用户信息值
    var f = document.user_info;    
    var userName = f.user_name.value;
    var userAge = f.user_age.value;
    var userSex = f.user_sex.value;

    //接收表单的URL地址
    var url = “commit.php";    
    //需要POST的值,把每个变量都通过&来联接
    var postStr = “name="+ userName +"&age="+ userAge +"&sex="+ userSex;

    //实例化Ajax
    var ajax = null;
    if(window.XMLHttpRequest){
        ajax = new XMLHttpRequest();
       }
    else if(window.ActiveXObject){
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
       }
    else{
        return;
       }

    //通过Post方式打开连接
    ajax.open("POST", url, true);  
    //定义传输的文件HTTP头信息
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //发送POST数据
    ajax.send(postStr);

    //返回数据的处理函数
    ajax.onreadystatechange = function(){
        if (ajax.readyState == 4 && ajax.status == 200){
               msg.innerHTML = ajax.responseText;
            }
      }
}

–>
</SCRIPT>


<form name="user_info">
     姓名:<input type="text" name="user_name" /><br/>
     年龄:<input type="text" name="user_age" /><br/>
     性别:<input type="text" name="user_sex" /><br/>
<input type="button" value="提交表单" onClick="saveUserInfo()">
</form>

//构建一个接受返回信息的层:
<div id="msg"></div>


注:
与get方法比较,post方法可传输大于2K的数据,在Ajax里的应用不同之处在于:"post方法的请求地址与传输的数据是放在两个对象里—-请求地址放在open对象里,传输的数据放在send对象里;并且在传输数据之前定义一个传输文件HTTP头信息(setRequestHeader)"
在commit.php文件里可以用变量$_POST['name'] ,  $_POST['age'],    $_POST['sex']获得send对象传输的数据.并对数据库进行操作.


Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3