<SCRIPTLANGUAGE=”javascript”>@H_404_7@ <!– function saveUserInfo()@H_404_7@ {@H_404_7@ //获取接受返回信息层@H_404_7@ var msg = document.getElementById(”msg”); //获取表单对象和用户信息值@H_404_7@ var f = document.user_info;@H_404_7@ var userName = f.user_name.value;@H_404_7@ var userAge = f.user_age.value;@H_404_7@ var userSex = f.user_sex.value; //接收表单的URL地址@H_404_7@ var url = “commit.PHP”;@H_404_7@ //需要POST的值,把每个变量都通过&来联接@H_404_7@ var postStr = “name=”+ userName +”&age=”+ userAge +”&sex=”+ userSex; //实例化Ajax@H_404_7@ var ajax = null;@H_404_7@ if(window.XMLHttpRequest){@H_404_7@ ajax = new XMLHttpRequest();@H_404_7@ }@H_404_7@ else if(window.ActiveXObject){@H_404_7@ ajax = new ActiveXObject(”Microsoft.XMLHTTP”);@H_404_7@ }@H_404_7@ else{@H_404_7@ return;@H_404_7@ } //通过Post方式打开连接@H_404_7@ ajax.open(”POST”,url,true);@H_404_7@ //定义传输的文件HTTP头信息@H_404_7@ ajax.setRequestHeader(”Content-Type”,”application/x-www-form-urlencoded”);@H_404_7@ //发送POST数据@H_404_7@ ajax.send(postStr); //返回数据的处理函数@H_404_7@ ajax.onreadystatechange = function(){@H_404_7@ if (ajax.readyState == 4 && ajax.status == 200){@H_404_7@ msg.innerHTML = ajax.responseText;@H_404_7@ }@H_404_7@ }@H_404_7@ } –>@H_404_7@ </SCRIPT> <form name=”user_info”>@H_404_7@ 姓名:<input type=”text” name=”user_name” /><br/>@H_404_7@ 年龄:<input type=”text” name=”user_age” /><br/>@H_404_7@ 性别:<input type=”text” name=”user_sex” /><br/>@H_404_7@ <input type=”button” value=”提交表单” onClick=”saveUserInfo()”>@H_404_7@ </form> //构建一个接受返回信息的层:@H_404_7@ <div id=”msg”></div> |
注:@H_404_7@ 与get方法比较,post方法可传输大于2K的数据,在Ajax里的应用不同之处在于:”post方法的请求地址与传输的数据是放在两个对象里—-请求地址放在open对象里,传输的数据放在send对象里;并且在传输数据之前定义一个传输文件HTTP头信息(setRequestHeader)” 在commit.PHP文件里可以用变量$_POST[’name’],$_POST[’age’],$_POST[’sex’]获得send对象传输的数据.并对数据库进行操作.