var Ajax={
xhr: null,
ok : true,
xhrPool: [],
createXHRObj : function(){
var xhrObj;
try {
if(window.XMLHttpRequest){
xhrObj = new XMLHttpRequest();
}else if(window.ActiveXObject){
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0'];
for(var i=0;i<MSXML.length;i++){
try{
xhrObj = new ActiveXObject(MSXML[i]);
break;
}catch(e){
}
}
}
if (xhrObj.readyState == null)
{
xhrObj.readyState = 0;
xhrObj.addEventListener("load", function (){
xhrObj.readyState = 4;
if (typeof xhrObj.onreadystatechange == "function")
{
xhrObj.onreadystatechange();
}
}, false);
}
return xhrObj;
} catch (e) {
alert("XMLHttpRequest创建错误!");
}
},
getXhrInstance:function(){
for(var i=0;i<this.xhrPool.length;i++){
if (this.xhrPool[i].readyState == 0 || this.xhrPool[i].readyState == 4)
{
return this.xhrPool[i];
}
}
this.xhrPool[this.xhrPool.length] = this.createXHRObj();
return this.xhrPool[this.xhrPool.length-1];
},
init:function(){
this.xhrPool = new Array();
},
setHeader:function(key, value){
var xhrObj = this.xhr;
try{
xhrObj.setRequestHeader(key,value);
}catch(e){
alert("设置Header异常:"+e.message);
}
},
//按类型解析数据
_parse:function(text,dtype){
var _data = null;
if(dtype == 'JSON'){
_data = text;
return eval('('+ _data +')');
}
return text;
},
//cbobj必须包含callback函数
sendDataForJson:function(data, url,method, cbobj){
try{
var xhrObj = this.getXhrInstance();
var msg="";
for(i=0;i<data.length;i++){
var obj = data[i];
if(i == data.length-1){
var v = obj.value;
msg += obj.key+"="+encodeURIComponent(encodeURIComponent(v));
}else{
var v = obj.value;
msg += obj.key+"="+encodeURIComponent(encodeURIComponent(v))+"&";
}
}
if(method == "GET"){
xhrObj.open(method,url+"?randnum=" + Math.random()+ "&" +msg,true);
xhrObj.setRequestHeader("Content-Type", "text/html");
xhrObj.setRequestHeader("Cache-Control", "no-cache");
xhrObj.setRequestHeader("CustomDataType","JSON");
xhrObj.send(null);
}else if(method == "POST"){
xhrObj.open(method,url+"?randnum="+Math.random(),true);
xhrObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhrObj.setRequestHeader("Cache-Control", "no-cache");
xhrObj.setRequestHeader("Content-Length",msg.length);
xhrObj.setRequestHeader("Connection", "close");
xhrObj.setRequestHeader("CustomDataType","JSON");
xhrObj.send(msg);
}
var returnText = "";
xhrObj.onreadystatechange = function(){
if(xhrObj.readyState == 4){
if(xhrObj.status == 200){
returnText = xhrObj.responseText;
returnText = decodeURIComponent(decodeURIComponent(returnText));
cbobj.callback(Ajax._parse(returnText,xhrObj.getResponseHeader("CustomDataType")) );
}
}
//xhrObj.abort();
};
return returnText;
}catch(e){
alert('连接服务器异常,错误原因:' + e.name + " 描述:" +e.message );
xhrObj.abort();
}
}
}
相关推荐
一致性总线CMN600AE-ARM系列
主要介绍一致性总线CMN600AE,根据arm官网的spec来概述其模块。提示:以下是本篇文章正文内容,下面案例可供参考CMN600ae是基于Mesh拓扑结构,对外支持AMBA CHI/ACE-LITE等接口,内部改用路由结构转发数据,并提供硬件一致性和系统缓存,还支持多芯片互联。CMN600在T16FFC上可以做到2Ghz,另外AE版本增加了车轨芯片的安全功能,总线内部采用EDC检查,接口采用的奇校验。
Ajax工具类
Ajax工具类 /** * 统一整个Ajax请求返回的结果 * @param <T> */ public class AjaxResult<T> { private static final String SUCCESS = "SUCCESS"; private static final String FAILED = "FAILED"; // 封装当前请求结果为成功还是失败 private String result; // 处理失败时返
Java使用easyExcel生成excel文件直接写入邮件附件并发送
1.引入pom依赖 <!-- email --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <!-- easyexcel需要依赖poi jar包 --> <depe
基于JavaScript封装的Ajax工具类
前段是件由于工作需要无奈编写了一个给予JavaScript封装的工具类,技术有限,误喷,感谢大家的支持。 1、以下是JavaScript 的 Ajax 工具类。 function createXMLHttpRequest(){ var req; if(window.XMLHttpRequest){ //兼容非IE 并且兼容 IE7以上的浏览...
Stable Diffusion跑图总爆显存?别急着换显卡,试试这个PYTORCH_CUDA_ALLOC_CONF参数调优
本文深入解析了Stable Diffusion运行中常见的显存不足问题,特别是由显存碎片化导致的假性OOM现象。通过详细讲解PYTORCH_CUDA_ALLOC_CONF参数中的max_split_size_mb设置技巧,提供了一套完整的显存优化方案,帮助用户在无需升级硬件的情况下显著提升AI绘画的稳定性与效率。
HTTP 代理服务器的设计与实现
HTTP 代理服务器的设计与实现 首先当然是最重要的代码:github地址 1) 实验目的 熟悉并掌握 Socket 网络编程的过程与技术;深入理解 HTTP 协议,掌握 HTTP 代理服 务器的基本工作原理;掌握 HTTP 代理服务器设计与编程实现的基本技能。 2) 实验内容 基于 java 实现了基本功能与全部附加功能,并增加了 https 的支持 (1) 设计并实现一个基本 HTTP 代理服...
封装过的Ajax工具类库
工具类:AjaxUtil.js var AjaxUtil = { // 基础选项 options : { method : "get", // 默认提交的方法,get post url : "", // 请求的路径 required params : {}, // 请求的参数 type : 'text', // 返回的内容的类型,text,xml,json call
【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?
【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?
[JavaScript][AJAX]封装好的AJAX工具类
封装好的AJAX实用类。跟JQuery的AJAX方法相比,某种意义上还是有差距的。不过好处就在于不需要另外学习JQuery和部署JQuery,就能通过原生的JavaScript语句,基于Java面向对象的编程习惯完成这套AJAX发送和获取数据的流程。
AUTOSAR进阶图解==>AUTOSAR_SWS_ECUStateManager
AUTOSAR ECU State Manager 摘要 AUTOSAR ECU状态管理器(EcuM)是Classic Platform 4.4.0规范中的核心模块,负责管理ECU的整个生命周期,包括启动、运行、关机和睡眠等状态转换。EcuM通过协调各基础软件模块的初始化过程,确保系统可靠运行。 主要功能包括: 启动管理 - 控制从硬件初始化到应用运行的完整启动序列 状态转换 - 管理RUN/POST_RUN/SHUTDOWN等状态切换 唤醒验证 - 区分真实与虚假唤醒事件 关机序列 - 确保安全关机保存关
lammps案例:扭转
扭转有两种方式,一是固定一端旋转另外一端,二是两端沿相反的方向旋转。案例为两侧旋转方式,扭转后的效果如图所示。
ajax 工具类
工具类:AjaxUtil.jsvar AjaxUtil = { // 基础选项 options : { method : "get", // 默认提交的方法,get post url : "", // 请求的路径 required params : {}, // 请求的参数 type : 'text', // 返回的内容的
ResNet改进(20):融合Swin Transformer与ResNet
这种混合架构的设计理念是:在保留CNN强大局部特征提取能力的同时,引入Transformer的全局建模优势。我们实现的模型在ResNet18的基础上嵌入了一个简化版的Swin Transformer Block,旨在探索两种范式结合的可能性。通过在ResNet早期阶段引入Transformer模块,我们既保留了CNN强大的局部特征提取能力,又获得了Transformer的全局建模优势。本文提出的ResNet与Swin Transformer混合架构,探索了CNN与Transformer结合的可能性。
ajax请求工具类
ajax的get和post请求工具类: /*** 公共方法类* * 使用 变量名=function()定义函数时,如果在变量名前加var,则这个变量变成局部变量*/var Common = function() { /* * 获取url参数 */ var getQueryStr = function(sUrlParam, sArgName)...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
ajax封装layui工具类,用于设置请求头(token)
ajax封装工具类,用于设置请求头(token) 参数说明 url:请求路径(不可为空) params:请求参数(不可为空) ft:回调方法(不可为空) headers:请求头(true:设置请求头“authorization”和“refresh_token”,false:就设置请求头“authorization”,为空就不设置)(可以为空) noAuthorityFt:无权限响应 (可以为空) contentType:请求类型 (可以为空)默认是json async:是否异步(可以为空)默认是true /
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
java返回ajax请求工具类,返回状态码等信息
java返回ajax请求工具类 package com.example.demo.util; import java.util.HashMap; /** * 操作消息提醒 * * @author liming */ public class AjaxResult extends HashMap<String, Object> { private static f...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
封装过的Ajax工具类库AjaxUtil.js
封装过的Ajax工具类库AjaxUtil.js 可以500%提高开发效率的前端UI框架! .代码 var AjaxUtil = { // 基础选项 options : { method : "get", // 默认提交的方法,get post url : "", // 请求的
工具类 ajax
【代码】工具类 ajax。
jquery ajax通用工具类封装
jquery ajax通用工具类封装,意在解决重复代码轮子问题,欢迎使用。
Ajax的工具类AjaxUtils,使用struts返回Json类型
public class AjaxUtil { /** * ajax response method * 如果出现异常,则返回错误代码505 * * @param response * @param text * ajax返回的内容 * */ public static void ajaxResponse(HttpServletResponse respo
Ajax的Result工具类
ResultUtil.java package cn.qlq.util; import java.io.Serializable; public class ResultUtil<T> implements Serializable { private static final long serialVersionUID = 36371224973503...
ajax输出流工具类
import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; /** * ajax返回输出流工具类 * @author Administrator * */ public class ResponseUtil { public static void write(HttpServletResp
(AJAX笔记)封装AJAX工具类+省市联动下拉框动态选择——Servlet版
(前端笔记)封装AJAX工具类+省市联动下拉框动态选择——Servlet版
java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
【博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708】https://www.cnblogs.com/m-yb/p/9986309.html分页功能的实现可以使用各种插件, 笔者今日闲来无事, 写了 分页工具类 前后台代码 Java JavaScript 的 实...
ajax工具类
ajax底层代码的封装类,希望对大家有所帮助!
6297



被折叠的 条评论
为什么被折叠?



