var ajax = function(o){
/*
* @o.url Request url
* @o.method Set to post or get
* @o.async Set async or not
* @o.data Parameters to be sending
* @o.success Callback function for success
* @o.fail Callback function for fail
* @o.header Set request http herder
* @o.user Set username
* @o.pwd Set password
*/
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
var data = null;
var url = o.url;
if( !o.data ) o.data = {};
o.data['NoCache'] = Math.random();
var temp= [];
for(var i in o.data) temp.push(i+"="+o.data[i]);
data = temp.join("&");
if( !o.method ) o.method = 'get';
if( o.method=="get" && data!=null ){
url = url+( /\?/.test(url) ? '&' : '?' )+data;
data = null
}
xhr.open( o.method, url, o.async||true, o.user||'', o.pwd||'' );
if(o.header){
for(var type in o.header){
xhr.setRequestHeader( type, o.header[type] );
}
}
if(!o.header || !o.header['Content-Type']) xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
if(xhr.status==200||xhr.status==206){
if(o.success){ o.success.apply(xhr,[xhr.responseText]); }
}else{
if(o.fail){ o.fail.apply(xhr); }
}
}
};
xhr.send(data);
};
ajax({
url:"draw.html",
method:"get",
async:"true",
data:{ "url":"test", "sgg":"kktest" },
header:{
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Range':'bytes=0-2'
},
success:function(ret){
alert(ret);
alert(this.getAllResponseHeaders());
},
fail:function(){
alert(this.status);
}
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?