Ajax问题请教
//重构Ajaxvarnet=newObject();//定义一个全局变量//编写构造函数net.AjaxRequest=function(url,onload,oner...
//重构Ajax
var net=new Object();//定义一个全局变量
//编写构造函数
net.AjaxRequest=function(url,onload,onerror,method,params){
this.req=null;
this.onload=onload;
this.onerror=(onerror)?onerror:this.defaultError;
this.loadDate(url,method,params);
}
//编写用户初始化XMLHttpRequest对象并指定处理函数,最后发送HTTP请求的方法
net.AjaxRequest.prototype.loadDate=function(url,method,params){
if(!method){
method="GET";//设置默认的请求方法为GET
}
if(window.XMLHttpRequest){
this.req=new XMLHttpRequest();//非IE浏览器创建XMLHttpRequest对象
}else if(window.ActiveXObject){
this.req=new ActiveXObjec("Microsoft.XMLHTTP");//IE浏览器创建XMLHttpRequest对象
}
if(this.req){
try{
var loader=this;
this.req.onreadystatechange=function(){
net.AjaxRequest.onReadyState.call(loader);
}
this.req.open(method,url,true);
if(method="POST"){
this.req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置请求的内容类型
this.req.setRequestHeader("x-requested-with","ajax");//设置请求的发送者
}
this.req.send(params);//发送请求
}catch(err){
this.onerror.cal(this);//调用错误处理函数
}
}
}
//重构回掉函数
net.AjaxRequest.onReadyState=function(){
var req=this.req;
var ready=req.readyState;//获取请求状态
if(ready==4){//请求完成
if(req.status==200){//请求成功
this.onload.call(this);
}else{
this.onerror.call(this);//调用错误的处理函数
}
}
}
//重构默认的错误处理函数
net.AjaxRequest.prototype.defaultError=function(){
alert("错误数据\n\n 回调状态:"+this.req.readyState+"\n状态:"+this.req.status);
}
function loginSubmit(){
var userName=document.getElementById("username").value;//form1.username.value;
var passWord=document.getElementById("password").value;//form1.password.value;
if(userName.length==0){//输入用户名为空
alert("请输入用户名!");
form1.username.focus();return;
}
if(passWord.length==0){//输入密码为空
alert("请输入密码!");
form1.password.focus();return;
}
var param="username="+userName+"&password="+passWord;
var loader=new net.AjaxRequest("UserServlet?action=login",deal_login,onerroe,"POST",param);
alert(123);
}
function onerroe(){
alert("您的操作有误!");
}
function deal_login(){
/***************显示提示信息***************************/
var h=this.req.rsponseText;
h=h.replace(/\s/g,"");
alert(h);
if(h=="登陆成功!"){
window.location.href="BusinessProcess/main.jsp";
}else{
form1.username.value="";
form1.password.value="";
form1.username.focud();
}
}
/*****************************************************************/
在这段js中,跟踪后req.status一直是404错误,请求失败!网上查实URL错误,但不知道具体哪里错了,新手,求大神指导下,到底哪里错了! 展开
var net=new Object();//定义一个全局变量
//编写构造函数
net.AjaxRequest=function(url,onload,onerror,method,params){
this.req=null;
this.onload=onload;
this.onerror=(onerror)?onerror:this.defaultError;
this.loadDate(url,method,params);
}
//编写用户初始化XMLHttpRequest对象并指定处理函数,最后发送HTTP请求的方法
net.AjaxRequest.prototype.loadDate=function(url,method,params){
if(!method){
method="GET";//设置默认的请求方法为GET
}
if(window.XMLHttpRequest){
this.req=new XMLHttpRequest();//非IE浏览器创建XMLHttpRequest对象
}else if(window.ActiveXObject){
this.req=new ActiveXObjec("Microsoft.XMLHTTP");//IE浏览器创建XMLHttpRequest对象
}
if(this.req){
try{
var loader=this;
this.req.onreadystatechange=function(){
net.AjaxRequest.onReadyState.call(loader);
}
this.req.open(method,url,true);
if(method="POST"){
this.req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置请求的内容类型
this.req.setRequestHeader("x-requested-with","ajax");//设置请求的发送者
}
this.req.send(params);//发送请求
}catch(err){
this.onerror.cal(this);//调用错误处理函数
}
}
}
//重构回掉函数
net.AjaxRequest.onReadyState=function(){
var req=this.req;
var ready=req.readyState;//获取请求状态
if(ready==4){//请求完成
if(req.status==200){//请求成功
this.onload.call(this);
}else{
this.onerror.call(this);//调用错误的处理函数
}
}
}
//重构默认的错误处理函数
net.AjaxRequest.prototype.defaultError=function(){
alert("错误数据\n\n 回调状态:"+this.req.readyState+"\n状态:"+this.req.status);
}
function loginSubmit(){
var userName=document.getElementById("username").value;//form1.username.value;
var passWord=document.getElementById("password").value;//form1.password.value;
if(userName.length==0){//输入用户名为空
alert("请输入用户名!");
form1.username.focus();return;
}
if(passWord.length==0){//输入密码为空
alert("请输入密码!");
form1.password.focus();return;
}
var param="username="+userName+"&password="+passWord;
var loader=new net.AjaxRequest("UserServlet?action=login",deal_login,onerroe,"POST",param);
alert(123);
}
function onerroe(){
alert("您的操作有误!");
}
function deal_login(){
/***************显示提示信息***************************/
var h=this.req.rsponseText;
h=h.replace(/\s/g,"");
alert(h);
if(h=="登陆成功!"){
window.location.href="BusinessProcess/main.jsp";
}else{
form1.username.value="";
form1.password.value="";
form1.username.focud();
}
}
/*****************************************************************/
在这段js中,跟踪后req.status一直是404错误,请求失败!网上查实URL错误,但不知道具体哪里错了,新手,求大神指导下,到底哪里错了! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询