畅想博客

thinkalways,you will get more-永远不要停止思考的脚步关注我:

« C语言栈的简单应用:栈的初始化、压栈、弹栈【学习转载】C# DataSet和DataTable详解 »

ajax用post方法传递数据

 因为ajax一般是直接在后台操作,所以一般也没人去注意这个传输方法。学习的时候,可能是为了简单都是以get方法为例,因为看多了,所以做的时候也干脆用GET方法,简单快捷,到处是可供参考的源代码。

今天在改thinksaas的代码时,需要用到一下因为他大部分东西都写好了,获取数据都采用了_POST['email']这种方法,我就是要写个ajax异步传输,为了少改点东西,我就想ajax用POST方法来,查了下手册,写了一下,发现其实和GET方法也没多少区别。需要注意的一个问题是乱码问题,需要改的一个地方是GET方法send(null),就好了,而POST方法这里需要传递数据,就不能send(null)了,改为send(postStr)。。

然后在处理页面,直接像下面这样,用$_POST['']接收获取就可以了。

PHP代码
  1. $jump = trim($_POST['jump']);  
  2. $email = trim($_POST['email']);       
  3. $pwd = trim($_POST['pwd']);  
  4. $cktime = $_POST['cktime'];  

 

另外我就喜欢贴代码,把这整个代码贴一下吧,我初学的时候就喜欢看完整的代码。

JavaScript代码
  1. function createXMLHTTP()  
  2. {  
  3.     var request;  
  4.     if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari  
  5.         request = new XMLHttpRequest();  
  6.     }  
  7.     else {// code for IE6, IE5  
  8.         request = new ActiveXObject("Microsoft.XMLHTTP");  
  9.     }  
  10.     return request;  
  11. }  
  12.   
  13. //全局XMLHttpRequest对象实例  
  14. var http=createXMLHTTP();  
  15.   
  16. alert(http);  
  17.   
  18. //发送请求  
  19. function sendRequest(url)  
  20. {  
  21.     alert("发送函数");  
  22.     /*这个是get方法提交 
  23.     http.open("GET", url ,true); 
  24.     //声明回调函数 
  25.     http.onreadystatechange=getRequest; 
  26.     //发送请求 
  27.     http.send(null); 
  28.     */  
  29.     var email=$('email').value;  
  30.     var pwd=$('pwd').value;  
  31.     var jump=$('jump').value;  
  32.     var cktime=$('cktime').value;  
  33.     alert(email);  
  34.       
  35.     var postStr="email="+email+"&pwd="+pwd+"cktime="+cktime;  
  36.     http.open("POST", url, true);  
  37.     http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
  38.     http.send(postStr);  
  39.     http.onreadystatechange=getRequest;  
  40.       
  41. }  
  42.   
  43. //回调函数  
  44. function getRequest()  
  45. {  
  46.     alert("回调函数");  
  47.     //readyState=4,表示请求已完成  
  48.     if(http.readyState==4)  
  49.     {//判断对象状态  
  50.         if(http.status==200)  
  51.         {//信息已成功返回,开始处理信息  
  52.             //resposneText处理  
  53.             var resultStr=http.responseText;  
  54.             document.getElementById("loginResult").innerHTML=resultStr;  
  55.               
  56.             //json处理  
  57.             //var resultStr=http.responseText;  
  58.             //var show_info=eval(resultStr);  
  59.             //document.getElementById("jtext").innerHTML=show_info[0].contentinfo;  
  60.   
  61.         }  
  62.         else  
  63.         {//页面不正常  
  64.             alert("您所请求的页面不正常!");  
  65.         }  
  66.     }  
  67. }  
  68.   
  69. //登录操作  
  70. function doLogin()  
  71. {  
  72.     alert("登陆??");  
  73.       
  74.     //var url="http://localhost:81/mifan/app/user/action/login.php?email="+email+"&pwd="+pwd;  
  75.     //var url="http://localhost:81/mifan/index.php?app=user&ac=login&ts=do&email="+email+"&pwd="+pwd;  
  76.     var url="http://localhost:81/mifan/index.php?app=user&ac=login&ts=do";  
  77.     sendRequest(url);  
  78.       
  79. }  

 




转载本站原创文章请注明作者和出处 畅想网-畅想博客



更多