ajax简单使用-Post方式
2011-05-03 18:54
543 查看
前面简单记录了 get方式使用ajax,这里再记录一下post方式,大多数与get方式相同,这里只记录一下主要部分:
关于param参数,和get方式差不多,“key1=value&key2=value2”的样式,但这样存在一个问题,一个个拼接起来非常麻烦,而且容易出错。但如果使用js的Array来使用拼接这些key、value就很方便了。简单demo如下:
从上述demo中,可以看出,使用方法很简单,先往array中push key、value,最后返回的时候,用join方法,这样就将各组key、value用&符号连接起来了。使出错的几率大大减小。另外,对于select下拉框,多选时,可用 key、value向array中push多组key相同,但value不同的值。在后台获取值的方式用:
request.getParameter("filter_email");
String [] preferences=request.getParameterValues("preferences");
跟平时获取参数值的方法一样。
--- 调用ajax请求的方法:
sendRequestPost("selectByFilter.do",getForm());
var XMLHttpReq = false; function createXMLHttpRequest(){ if(window.XMLHttpRequest){ XMLHttpReq = new XMLHttpRequest(); }else if(window.ActiveXObject){ XMLHttpReq = new ActiveXObject("Mircsoft.XMLHTTP"); }else { alert("未能创建XMLHttpRequest对象"); return false; } } function sendRequestPost(url,param){ createXMLHttpRequest(); XMLHttpReq.open("POST",url,false); XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); XMLHttpReq.onreadystatechange = processResponse; XMLHttpReq.send(param); } function processResponse(){ var obj = document.getElementById("res"); if(XMLHttpReq.readyState == 4){ // obj.innerHTML ="开始筛数据,请稍候...."; if(XMLHttpReq.status == 200){ obj.innerHTML = XMLHttpReq.responseText; runningFlag=false; } else{ obj.innerHTML =""; runningFlag=false; window.alert("你请求的页面有异常,XMLHttpReq.status:"+XMLHttpReq.status+" ,txt="+XMLHttpReq.responseText); } } }
关于param参数,和get方式差不多,“key1=value&key2=value2”的样式,但这样存在一个问题,一个个拼接起来非常麻烦,而且容易出错。但如果使用js的Array来使用拼接这些key、value就很方便了。简单demo如下:
function getForm(){ var aParams = new Array(); if(document.form1.filter_email.checked==true){ aParams.push("filter_email=yes"); aParams.push("bind_email_select="+getSelect(document.form1.bind_email_select)); } if(document.form1.filter_sms.checked==true){ aParams.push("filter_sms=yes"); aParams.push("baoyue_select="+getSelect(document.form1.baoyue_select)); } if(document.form1.filter_preference.checked==true){ aParams.push("filter_preference=yes"); for(var i=0;i<document.form1.preferences.length;i++){ if(document.form1.preferences[i].selected==true){ aParams.push("preferences="+document.form1.preferences[i].value); } } } return aParams.join("&"); }
从上述demo中,可以看出,使用方法很简单,先往array中push key、value,最后返回的时候,用join方法,这样就将各组key、value用&符号连接起来了。使出错的几率大大减小。另外,对于select下拉框,多选时,可用 key、value向array中push多组key相同,但value不同的值。在后台获取值的方式用:
request.getParameter("filter_email");
String [] preferences=request.getParameterValues("preferences");
跟平时获取参数值的方法一样。
--- 调用ajax请求的方法:
sendRequestPost("selectByFilter.do",getForm());
相关文章推荐
- Retrofit简单封装使用--Post请求封装请求体、Get请求通过参数、map方式构建url
- laravel Ajax post方式的使用
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- MVC 使用AJAX POST上传图片的方式
- AJAX在PHP中的简单使用 (post)
- 17-Ajax使用get/post方式,判断用户名是否重复
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- ajax的简单使用——get&post的实现(2)
- 简单使用ajax(get方式)
- 多个checkbox 使用AJAX向后台传输数据的简单方式
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
- 使用Ajax测试post请求方式:
- android 使用httpURLConnection post方式访问接口的简单工具包
- django 使用Ajax方式POST JSON数据包
- Ajax使用Post方式提交到.aspx页面交互的例子
- Jersey使用总结一(jersey初步使用和简单post请求几种参数传递,String方式,不含对象操作)
- ajax的简单使用——get&post两种方法的实现(1)
- 前端学习——使用Ajax方式POST JSON数据包
- Ajax使用POST方式异步提交数据
- 前端学习——使用Ajax方式POST JSON数据包