最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp ajax 实例(post,get,form测试)
时间:2010-10-24 编辑:简简单单 来源:一聚教程网
文章提供一款简单asp教程 ajax 实例(post,get,form测试)哦,他做了三个相关ajax asp测试实例,都通过了。
index.html
艾恩ajax类
css教程" rel="stylesheet" href="css.css" />
艾恩ajax类
测试1-获取服务器变量,使用get方式
获取服务器变量 : 文本框失去焦点,自动调用
您可以输入其他相关变量进行测试,例如http_referer,url,server_name
测试2-提交相对复杂数据,返回json数据,使用post方式
测试3-ajax提交form
测试4-ajax的简洁调用-get和post方法(统一使用异步获取文本的方式)
ajax类库使用说明
完整调用统一调用入口:ajax(setting); 关于参数setting,请详细参考下面的说明。
简洁调用入口:ajax.get(url,data,fn); 以及 ajax.post(url,data,fn);
ajax的配置:
var settings = {
asc:
true, //true-异步传输;false-同步传输
form:
formobj, //表单对象,如果设置本项,则会用ajax提交表单,忽略设置的method,url和data属性
url:
"", //若不设置form属性,则本项为必选值
datatype:
"text", //可取值text,xml,json
method:
"get", //可取post,get 不区分大小写。设置form属性后,本项会被忽略。
data:
"", //具体格式请看示例程序。设置form属性后,本项会被忽略。
timeout:
10000, //设置超时时间,默认为10秒(即10000毫秒)
succeed:
function(a,b,c){return true},
error:
function(a,b,c){return true},
ontimeout:
function(a,b,c){return true}
};
(function(){
var ajax = window.ajax = function(opt) {
if(opt.form){
ajax.fn.postf(opt);
}else{
ajax.fn.do(opt);
}
};
ajax.setting={
asc: true,
url: "",
datatype: "text",
method: "get",
data: "",
timeout:10000,
onlysend:false,
charset:"utf-8",
succeed: function(a,b,c){return true},
error: function(a,b,c){return true},
ontimeout:function(a){return true}
};
ajax.fn = ajax.prototype = {
do:function(options){
var settings = ajax.setting;
if(options) {
settings = ajax.fn.ajax_extend(settings, options);
}
var istimeout=false;
var s=settings;
s.method = s.method.touppercase();
s.charset = s.charset.tolowercase();
var a=ajax.fn.ajax_getobj();
var u=s.url;
var b=u.indexof("?") == -1 ? false:true;
u= b ? u + "&aienrnd=" + ajax.fn.ajax_rnd() : u + "?aienrnd=" + ajax.fn.ajax_rnd();
if(s.method=="get"){
u=s.data=="" ? u : u + "&" + s.data;
}
var d=null;
if(s.method=="post"){
d=s.data
}
a.open(s.method,u,s.asc);
if(s.method=="post"){
a.setrequestheader("content-type", "application/x-www-form-urlencoded");
}
if(!s.onlysend){
window.settimeout(function(){istimeout=true;},s.timeout);
a.onreadystatechange =function(){
if(istimeout){
s.ontimeout();
a.abort();
a=null;
return;
}
if(a.readystate==4){
if(a.status==200){
var t=s.datatype.tolowercase();
if(t=="text"){
s.succeed(a.responsetext,a,s);
}
if(t=="xml"){
s.succeed(a.responsexml,a,s);
}
if(t=="json"){
try{
eval("j=" + a.responsetext);
}catch(ex){
j = null;
}
s.succeed(j,a,s);
}
a=null;
}else{
s.error(a.status,a,s);
a=null;
}
}
};
}
a.send(d);
if(!s.onlysend){
if(!(navigator.appname=='microsoft internet explorer')){
if(a.readystate==4){
if(a.status==200){
var t=s.datatype.tolowercase();
if(t=="text"){
s.succeed(a.responsetext,a,s);
}
if(t=="xml"){
s.succeed(a.responsexml,a,s);
}
if(t=="json"){
eval("j=" + a.responsetext);
s.succeed(j,a,s);
}
a=null;
}else{
s.error(a.status,a,s);
a=null;
}
}
}
}
},
ajax_getobj:function (){
var b=null;
if (window.activexobject) {
var httplist = ["msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp"];
for(var i = httplist.length -1;i>=0;i--){
try{
b= new activexobject(httplist[i]);
return b;
}catch(ex){}
}
}else if (window.xmlhttprequest) {
b= new xmlhttprequest();
}
return b;
},
ajax_rnd :function (){return math.random().tostring().substr(2);},
ajax_extend:function (a, b){var c={};for(var m in a){c[m]=a[m];}for(var m in b){c[m]=b[m];}return c;}
};
ajax.get = ajax.fn.get=function(url,data,fn){
var setting = ajax.setting;
setting.url = url;
setting.data = data;
setting.succeed = fn;
ajax.fn.do(setting);
};
ajax.post = ajax.fn.post=function(url,data,fn){
var setting = ajax.setting;
setting.url = url;
setting.data = data;
setting.succeed = fn;
setting.method="post";
ajax.fn.do(setting);
};
ajax.serializ=ajax.fn.serializ=function(nodes,charset){
charset = charset.tolowercase();
var data="";
for(var i=0;iif(nodes[i].name.trim()==""){continue;}
if(nodes[i].type.tolowercase()=="checkbox"){
if(nodes[i].checked==true){
if(charset=="utf-8"){
data += nodes[i].name.utf8() + "=" + (nodes[i].value.trim()=="" ? "on": nodes[i].value.utf8()) + "&";
}else{
data += nodes[i].name.gb() + "=" + (nodes[i].value.trim()=="" ? "on": nodes[i].value.gb()) + "&";
}
}
}else if(nodes[i].type.tolowercase()=="radio"){
if(nodes[i].checked==true){
if(charset=="utf-8"){
data += nodes[i].name.utf8() + "=" + (nodes[i].value.trim()=="" ? "on": nodes[i].value.utf8()) + "&";
}else{
data += nodes[i].name.gb() + "=" + (nodes[i].value.trim()=="" ? "on": nodes[i].value.gb()) + "&";
}
}
}else{
if(charset=="utf-8"){
data += nodes[i].name.utf8() + "=" + nodes[i].value.utf8() + "&";
}else{
data += nodes[i].name.gb() + "=" + nodes[i].value.gb() + "&";
}
}
}
return data;
};
ajax.postf = ajax.fn.postf=function(setting){
setting = ajax.fn.ajax_extend(ajax.setting, setting);
frm = setting.form;
frm.onsubmit=function(){return false;};
if(frm.nodename.tolowercase()!="form" || frm.method=="" || frm.action==""){return false;}
setting.url = frm.action;
setting.method = frm.method;
var data="";
data = ajax.serializ(frm,setting.charset);
if(data!=""){
data = data.substr(0,data.length-1);
}
setting.data = data;
ajax.fn.do(setting);
return false;
};
string.prototype.gb=function(){
return escape(this.tostring());
};
string.prototype.utf8=function(){
return encodeuricomponent(this.tostring());
};
string.prototype.unutf8=function(){
return decodeuricomponent(this.tostring());
};
string.prototype.reg=function(r){
return r.test(this.tostring());
};
string.prototype.trim=function(){
return this.tostring().replace(/(^s*)|(s*$)/g,"");
};
})();
body {font-size:9pt;font-family:verdana,tahoma,arial;}
input,textarea {border:1px #666666 solid;font-size:9pt;padding:3px 3px 0 3px;}
#yjbox {border:1px #dddddd solid;padding:3px;margin:5px 5px 5px 0;background-color:yellow;}
.aa {background-color:#ffffff;position:absolute;top:30px;border:1px red solid;}
.cc {background-color:#ffffff;border:1px red solid;padding:3px;}
.dd {background-color:green;border:1px red solid;padding:3px;}
.bb {line-text-align:center;background:#f00;}
.content {padding:3px;}
.noborder {border:0px;}
#dragdiv {left:100px;top:300px;}
#intro {left:500px;top:30px;padding:3px;height:auto;background-color:#ffffff;position:absolute;border:1px red solid;line-}
#div1 {left:250px;top:400px;}
#ajaxresult {border:1px #dddddd solid;padding:3px;margin:5px 5px 5px 0;}
#variresult {border:1px #dddddd solid;padding:3px;margin:5px 5px 5px 0;}
#yjresult {color:red;}
.info {border:1px #dddddd solid;padding:3px;margin:5px 5px 5px 0;}#menu {left:550px;top:20px;height:auto;padding:3px;}
#extend {left:550px;top:430px;height:auto;padding:3px;}
#code {left:830px;top:20px;height:auto;padding:3px;}
测试ajax文件一 test_ajax.asp
<%@ language="vbscript"%>
<%
response.charset="utf-8"
response.write "{id:""" & request.querystring("get") & """,name:""" & request.form("post") & """}"
%>
测试ajax文件二 test_ajax_time.asp
<%@ language="vbscript"%>
<%
response.charset="utf-8"
v=request.querystring("v")
re=trim(request.servervariables(v))
if re="" then re="未找到 " & v & " 相关变量或者变量值为空!"
response.write re
%>
测试ajax文件三 test_post_form.asp
<%@ language="vbscript"%>
<%
response.charset="utf-8"
v=request.querystring
d=request.form
response.write "get方式提交到服务器的数据:" & v & "
post方式提交到服务器的数据:" & d
%>
本款实例下载地址
-
上一个: 一款完美asp 验证邮箱 email代码
-
下一个: 一款简单asp站内搜索实例源码
相关文章
- VBS 批量Ping的项目讲解 09-19
- 如何封装一个Ajax函数介绍 09-16
- ASP实现加法验证码方法 09-16
- ASP错误捕获的几种常规处理方法介绍 09-16
- ajax实现城市三级联动的代码介绍 09-16
- asp中获取日期为星期几的技巧 09-14