跪求高手看看这个奇怪的问题,ajax提交不了

fhp0917 2007-02-25 06:27:58
请各位高人赐教了,我实在不知道错在哪里了,关于ajax的问题
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function isLegalityXmlHttp(){
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
return true;
}
}
return false;
}
function getParameter(parameterName){
if(isLegalityXmlHttp()){
var results = xmlHttp.responseXML.getElementsByTagName(parameterName);
return results[0].firstChild.nodeValue;
}
}
function getParameterValues(parameterName){
if(isLegalityXmlHttp()){
var resultArray = new Array();
var results = xmlHttp.responseXML.getElementsByTagName(parameterName);
for(var i=0;i<results.length;i++){
resultArray.push(results[i].firstChild.nodeValue);
}
return resultArray;
}
}
function ajaxSubmit(aform,url,callback){
var param = getFormParameter(aform);
url = url+"?timeStamp="+new Date().getTime();
url = encodeURI(encodeURI(url));
param = encodeURI(encodeURI(param));
try{
createXMLHttpRequest();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = eval(callback);
xmlHttp.send(param);
}catch(e){
alert(e.message);
alert(e.description);
alert(e.number);
alert(e.name);
}
}
function getFormParameter(aform){
var url = "";
for(var i=0;i<aform.elements.length;i++){
var e = aform.elements[i];
var tmp = getElementParameter(e);
url = url + tmp;
}
return url;
}
function getElementParameter(element){
var elmtname = element.name;
if((element.type=="select-one")|| (element.type=="select-multiple")){
var value = "";
for(var i=0;i<element.options.length;i++){
if(element.options[i].selected){
var tmp = "&"+elmtname+"="+ element.options[i].value;
value = value + tmp;
}
}
return value;
}else if((element.type=="button")||(element.type=="submit")||(element.type=="reset")){
return "";
}else{
var value = "&"+elmtname+"="+element.value;
return value;
}
}
以上代码是我的ajaxUtil.js文件中的内容,以下的代码是页面上面写的调用的代码,问题是我触发了save()后就没有任何反应了,由于我后台使用的的是java的tomcat,这个ajax的请求是进入一个用于转码的filter的但是接下去就不走了,还有时候会在ajaxSubmit()时候报"类型不匹配"的异常,我实在不知道问题处在那里了
function save(){
var url = "st/ams/assetDef.do";
var callback = "doSubmit";
ajaxSubmit(document.AssetDefForm,url,callback);
}
function doSubmit(){
if(isLegalityXmlHttp()){
var a = getParameter("return");
alert(a);
}
}
...全文
288 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiweiwei1997 2007-02-25
  • 打赏
  • 举报
回复
跟踪你的java代码,是不是有类型转换的异常。
fhp0917 2007-02-25
  • 打赏
  • 举报
回复
是不是ajax的参数和strus存在某种冲突
fhp0917 2007-02-25
  • 打赏
  • 举报
回复
我发现request是进入tomcat的,
xmlHttp.readyState=4 xmlHttp.status500,后台出错了,于是struts的action进不去不知道问题在哪里
shiweiwei1997 2007-02-25
  • 打赏
  • 举报
回复
在没有执行createXMLHttpRequest函数之前,xmlHttp变量是undefined,这时执行isLegalityXmlHttp肯定会有问题吧。

建议你用Microsoft Script Debugger或者Venkman调试一下你的脚本,这样的问题应该比较容易定位。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧