心情不爽,散分加提问,请有经验的帮忙
在编程环境中使用了ajax+asp无刷新保存数据,正常使用。在测试环境测试员说一直超时,我也不知道哪里有问题了,程序如下,请有经验的帮忙。
编程前需求定义不明确,按照头口头说的做,结果现在又说不对。需求总共也只有几行字,唉,是我理解力太低吗?还是需求,设计没做好,是程序员的责任吗
function ajaxSubmit(){
//获取用户输入
var rowcount,columncount,flight,acity,dcity;
rowcount=document.CHeckK.rowcount.value;
columncount=document.CHeckK.columncount.value;
flight=document.CHeckK.flight.value;
acity=document.CHeckK.Acity.value;
dcity=document.CHeckK.Dcity.value;
// window.alert ( "rowcount: "+rowcount+ ":columncount: "+columncount)
var myArray = new Array(5);
for (var i=0;i <rowcount;i++)
{
myArray[i]=new Array(15);
for (var j=1;j <=columncount;j++)
{
if(j==1)
{
var inputs= 'effectdate '+i+j
//window.alert( inputs) ;
var eles=document.CHeckK.elements[inputs];
myArray[i][j]=eles.value;
}
if (j==2)
{
var inputs= 'canceldate '+i+j ;
var eles=document.CHeckK.elements[inputs];
myArray[i][j]=eles.value;
}
if (j> 2)
{
var inputs= 'subclass '+i+j ;
var eles=document.CHeckK.elements[inputs];
var index=eles.selectedIndex
//window.alert(index);
myArray[i][j]=eles.options[index].value;
//document.forms[0].selectID.options[this.selectedIndex].value
//window.alert(myArray[i][j]);
}
}//end for
}
for(var i=0;i <rowcount;i++)
{
var effect;
effect=myArray[i][1].toString();
for (var j=3;j <=columncount;j++)
{
if(myArray[i][j].toString().indexOf( "NOselect ")!=-1)
{
//过期的不处理
break;
}
else
{
var sub,canK,check;
if(myArray[i][j].toString().indexOf( "-NO ")==-1)
{
canK= 'T '
}
else
{
canK= 'F '
}
sub=myArray[i][j].toString().substr(0,1)
//window.alert ( "flight= "+escape(flight)+ "&dcity= "+escape(dcity)+ "&acity= "+escape(acity)+ "&effectdate= "+ escape(effect)+ "&canK= "+escape(canK)+ "&subclass= "+escape(sub))
// 创建XMLHttpRequest对象
var xmlhttp;
try{
xmlhttp=new XMLHttpRequest();
}catch(e){
xmlhttp=new ActiveXObject( "Microsoft.XMLHTTP ");
}
// 创建请求结果处理程序
xmlhttp.onreadystatechange=function(){
if (4==xmlhttp.readyState){
if (200==xmlhttp.status){
var date=xmlhttp.responseText;
//addToList(date);
}else{
alert( "error ");
}
}
}
// 打开连接,true表示异步提交
xmlhttp.open( "post ", "ajaxadd.asp ", true);
// 当方法为post时需要如下设置http头
xmlhttp.setRequestHeader( 'Content-type ', 'application/x-www-form-urlencoded ');
//发送数据
//批次提交flight,effectdate,舱1,T1,ACITY,DCITY
//xmlhttp.send( "title= "+escape(title)+ "&author= "+escape(author)+ "&content= "+escape(content));
var date
date=myArray[i][1].toString()
xmlhttp.send( "flight= "+escape(flight)+ "&dcity= "+escape(dcity)+ "&acity= "+escape(acity)+ "&effectdate= "+ escape(date)+ "&canK= "+escape(canK)+ "&subclass= "+escape(sub));
}// end if
}//end for
}//end for
}
[解决办法]
关键是后台文件,你可以传递参数进行测试,如后台文件名为DoDB.asp
http://***/DoDB.asp?flight=**&dcity=** ....
看看返回值是什么?
[解决办法]
好复杂,帮顶
[解决办法]
Microsoft.XMLHTTP对象是用ie同一代理的。
可以按照wangwm(星星火炬-http://jymass.com
的说法做做看。
当然要用测试员那台电脑测试。
如果测试员的电脑连用ie访问http://***/DoDB.asp?flight=**&dcity=** ....出错
那么,看看改机器的DNS,和hosts文件。
[解决办法]
哎 后悔学什么网站制作了 累死人还不偿命的