下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 4/4ajax的get和post请求方式 Ajax的GET和POST请求方式(1) 这个表单包含了一个操作(Operator)的数据,而这个操作一定是属于某个目录(Dir),因此需要一个下拉列表来选择操作所属的目录。 以上面这个表单的添加功能为例,试图将表单的数据通过调用addOperator()函数,将数据传送到JavaScript中,然后拼接出URL,进行Ajax的异步请求调用。GET请求方式下面是以GET方式异步请求Action。首先需要创建一个XMLHttpRequest对象,调用下面的函数:function createXMLHttp() if (typeof XMLHttpReq
2、uest != undefined) return new XMLHttpRequest(); else if (window.ActiveXObject) var aVersions = MSXML2.XMLHttp.5.0, MSXML2.XMLHttp.4.0, MSXML2.XMLHttp.3.0, MSXML2.XMLHttp, Microsoft.XMLHttp; for (var i = 0; i aVersions.length; i+) try return new ActiveXObject(aVersionsi); catch (e) alert(error); 接着实现
3、addOperator()函数:var xmlHttp =null;function addOperator() var addOperatorId = document.getElementById(addOperatorId).value;var addOperatorName = document.getElementById(addOperatorName).value;var addOperatorType = document.getElementById(addOperatorType).value;var addOperatorClsName = document.getEle
4、mentById(addOperatorClsName).value;var addOperatorURL = document.getElementById(addOperatorURL).value;var dirId = parseInt(get(dir),10); / 获取id为dir的select下拉列表中 被选中的项,get()函数在后面有实现 / 验证表单if( (addOperatorId.replace(/(s*)|(s*$)/g, ) = ) | (addOperatorName.replace(/(s*)|(s*$)/g, ) = ) | (addOperatorName
5、.replace(/(s*)|(s*$)/g, ) = ) | (addOperatorType.replace(/(s*)|(s*$)/g, ) = ) | (addOperatorClsName.replace(/(s*)|(s*$)/g, ) = ) | (addOperatorURL.replace(/(s*)|(s*$)/g, ) = ) | (dirId = 0) ) document.getElementById(tipsInfo).style.height = 25px; document.getElementById(tipsInfo).innerText = 表单数据不完整
6、,不能添加!; return false; if(isNaN(addOperatorId) document.getElementById(tipsInfo).style.height = 25px; document.getElementById(tipsInfo).innerText = 操作ID必须是数字!; return false; / 拼接URLvar url = if(xmlHttp = null) xmlHttp = createXMLHttp(); xmlHttp.open(GET, manageOperator.do?method=addOperator + encodeU
7、RI(encodeURI(url), true);xmlHttp.onreadystatechange = function () if (xmlHttp.readyState = 4) if (xmlHttp.status = 200) document.getElementById(tipsInfo).style.height = 25px; document.getElementById(tipsInfo).innerText = 添加操作成功!; ;xmlHttp.send(null);其中,get()函数如下所示:function get(selectId) var select =
8、 document.getElementById(selectId);var options = select.getElementsByTagName(option);var id = null;for(var i=0;ioptions.length;i+) if(optionsi.selected) id = optionsi.value; break; return id;说明:提取表单中的数据,拼接好url,使用GET方式请求:xmlHttp.open(GET, manageOperator.do?method=addOperator + encodeURI(encodeURI(url
9、), true);这里,使用encodeURI()方式对url实现两次编码,因为表单数据有中文字符,发送到Action中以后还要对其进行解码操作。如果假设operatorName为中文字符,例如:String operatorName = http:/./doc/4a126f360b4c2e3f5727630b.html .URLDecoder(request.getParameter(operatorName),UTF-8);这样,才能将encodeURI(encodeURI(url)中的中文字符解码,不出现乱码问题。因为使用GET请求,所以不需要通过send()函数发送数据,如下:xmlH
10、ttp.send(null);POST请求方式但是,对于POST方式,就不同了,代码片段如下所示:xmlHttp.open(POST, manageOperator.do?method=addOperator, true);xmlHttp.setRequestHeader(Content-Type,application/x-form-urlencoded);xmlHttp.onreadystatechange = function () if (xmlHttp.readyState = 4) if (xmlHttp.status = 200) document.getElementById(tipsInfo).style.height = 25px; document.getElementById(tipsInfo).innerText = 添加操作成功!; ;xmlHttp.send(ur l); open()中请求URL只需要制指定请求的Action。同时,需要设置请求头,以实现URL内容的正确编码:xmlHttp.setRequestHeader(Content-Type,application/x-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 螺杆空压机故障问题排除
- 2024届北京卷高考数学三模试卷(含解析)
- 施工员考点巩固
- 组态控制技术(第4版)课件 模块一任务2 水位控制画面设计
- 触电事故应急演练方案总结(2篇)
- 单位物业管理方案(2篇)
- 新年年会方案策划书(2篇)
- 《行政职业能力测验》2022年公务员考试深圳市南山区高分冲刺试卷含解析
- 宣城市广德县2022年公务员考试《行政职业能力测验》最后冲刺试题含解析
- 《行政职业能力测验》2022年公务员考试吉林省长春市九台市考前冲刺试题含解析
- 第15课《护手护脚有方法》 课件
- 2024年湖北省工业建筑集团有限公司招聘笔试参考题库含答案解析
- 医院培训课件:《危重患者护理文书书写规范》
- 农产品冷链物流信息化建设
- 城市马拉松项目风险评估报告
- 人教版高中信息技术必修一1.2数字化与编码
- 宠物医院可行性报告
- 气道净化护理(2023年中华护理学会团体标准)
- 个人ip打造方案策划
- GJB24891995航空机载设备履历本及产品合格证编制要求
- 应对自然灾害的应急预案
评论
0/150
提交评论