js ajax 兼容多浏览器 get post 解决乱码 响应过程全齐了
来源:互联网 发布:淘宝运营培训 编辑:程序博客网 时间:2024/06/10 01:54
//将JSON对象解析为字符串,再替换相应符号 function JSONStringify(obj) {return JSON.stringify(obj).replace(/"|{|}/g, "").replace(/:/g, "=").replace(/,/g, "&");}function getServerDataUseAjax(method, url, params) {//开始初始化XMLHttpRequest对象var http_request = false;if (window.XMLHttpRequest) { //Mozilla 浏览器http_request = new XMLHttpRequest();if (http_request.overrideMimeType) {//设置MiME类别http_request.overrideMimeType('text/xml');}} else if (window.ActiveXObject) { // IE浏览器try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}}if (!http_request) { // 异常,创建对象实例失败window.alert("不能创建XMLHttpRequest对象实例.");return false;}//不同请求方式的请求过程不同 //开发过程中 80%的开发使用 get 方式请求if (method.toLowerCase() == "get") {//这里加上时间戳是为了解决低版本ie浏览器缓存问题//另:这里额外调用了一个方法对传入的JSON对象进行了解析并字符串重组url += "?" + JSONStringify(params) + "×tamp"+ new Date().getTime();//如果不是IE浏览器就执行 // if(navigator.userAgent.indexOf("MSIE")<=0){ // netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); // }//注意这里是两次encodeURI()http_request.open(method, encodeURI(encodeURI(url)), true);// 处理返回信息的函数http_request.onreadystatechange = function () {if (http_request.readyState != 4) { // 判断对象状态//id loading_inserHTML// document.getElementById('MerchName').innerHTML="正在加载数据……"; //alert(4);} else {if (http_request.status == 200 || http_request.status == 0) { // 信息已经成功返回,开始处理信息var strHTML = http_request.responseText;//ok_innerHTML//document.getElementById('MerchName').innerHTML=strHTML;alert(strHTML);} else { //页面不正常alert("您所请求的页面有异常。");}}};//开始发送请求http_request.send(null);} else {if (method.toLowerCase() == "post") {if (method.toLowerCase() == "post") {http_request.open(method, url, true);http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");// 处理返回信息的函数http_request.onreadystatechange = function () {if (http_request.readyState != 4) { // 判断对象状态// document.getElementById('MerchName').innerHTML="正在加载数据……"; //alert(4);} else {if (http_request.status == 200 || http_request.status == 0) { // 信息已经成功返回,开始处理信息var strHTML = http_request.responseText;//document.getElementById('MerchName').innerHTML=strHTML;alert(strHTML);} else { //页面不正常alert("您所请求的页面有异常。");}}};//开始发送请求http_request.send(JSONStringify(params));} else {//http请求类别参数错误 window.alert("http请求类别参数错误..");return false;}}}}function test() {//{name:'jack',age:88}//注意这里给的参数对象是JSON对象格式getServerDataUseAjax("get", "test", {name : "天上人间",age : 88});}使用时需要 服务器端解码 URLDecoder.decode(request.getParameter("name"), "UTF-8")
0 0
- js ajax 兼容多浏览器 get post 解决乱码 响应过程全齐了
- js 解决ajax post 中文乱码问题
- GET POST乱码解决
- 全站编码 解决Get、Post乱码问题(Servlet)
- POST & GET & Ajax 全解
- POST & GET & Ajax & 全解
- 解决get请求乱码问题,js实现post请求
- post/get解决中文乱码
- Ajax的get/post请求服务器响应
- post乱码、get乱码问题如何解决?
- ajax 兼容多浏览器
- 解决全站字符乱码(POST和GET中文编码问题)
- java 解决全站字符乱码(POST和GET中文编码问题)
- 解决全站字符乱码(POST和GET中文编码问题)
- request get请求中文乱码解决兼容
- 解决servlet中输出中文到浏览器以及post、get两种提交方法乱码问题
- 解决Post和Get乱码问题
- GET&POST方式解决中文乱码问题
- iOS 数据库详解 sqlite实现增删改查操作
- LAMP环境搭建
- hdu 3639(强连通分量+dfs)
- lua 类, 继承, 面向对象
- 我在南邮的三年—研二生活
- js ajax 兼容多浏览器 get post 解决乱码 响应过程全齐了
- OC 字典
- 一个小码农这半年的经验和教训
- kernel---x86中计算struct thread——info偏移地址
- android广播机制
- LRUCache初步实现
- QT QString 很全的使用 .
- jquery--登陆注册【精简优化】
- 数据结构 第一章笔记整理