2007-09-12
Ajax 的发送请求和直接提交Form 到Action 有什么区别?
项目的说明,我是用jxl 生成excel 报表但是由于生成的报表过程涉及到大量的计算,客户等待时间较长。所以客户需要一个类似于进度条的东西,或者一句提示的信息让客户知道 现在正在生成Excel 请等待。。。
等到生成玩了之后,应提示用户生成完成!!
可是我用JavaScript 请求 action 可以。但是用Ajax 提交请求就不可以!请问为什么??
/*
*javascript 的提交到Action
*/
<script>
function ms(){
document.location.href="<%=imgpath%>/yusuan/tongji/titletongji.do?yearStr="+yearStr;
}
</script>
/*
*Ajax 的提交Action
*/
<script>
var xmlhttp;
try{
xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp= new XMLHttpRequest();
}catch(e){ }
}
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readystate==4){
if(xmlhttp.status==200){
parseResults();
}else{
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
}
}else{
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
}
}
function parseResults(){
if(xmlhttp.responseText.substring(0,5)=="wrong"){
var ref=document.getElementById("menu1");
ref.style.visibility="hidden";
//return;
}
}
function ms(){
var yearStr = document.getElementById("yearStr").value;
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
xmlhttp.open("post","<%=imgpath%>/yusuan/tongji/titletongji.do?yearStr="+yearStr);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
// xmlhttp.setRequestHeader('Content-Disposition','attachment;filename=' + "sdf" + '.xls', 'utf-8');
xmlhttp.send(null);
return ;
}
// }
</script>
等到生成玩了之后,应提示用户生成完成!!
可是我用JavaScript 请求 action 可以。但是用Ajax 提交请求就不可以!请问为什么??
/*
*javascript 的提交到Action
*/
<script>
function ms(){
document.location.href="<%=imgpath%>/yusuan/tongji/titletongji.do?yearStr="+yearStr;
}
</script>
/*
*Ajax 的提交Action
*/
<script>
var xmlhttp;
try{
xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp= new XMLHttpRequest();
}catch(e){ }
}
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readystate==4){
if(xmlhttp.status==200){
parseResults();
}else{
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
}
}else{
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
}
}
function parseResults(){
if(xmlhttp.responseText.substring(0,5)=="wrong"){
var ref=document.getElementById("menu1");
ref.style.visibility="hidden";
//return;
}
}
function ms(){
var yearStr = document.getElementById("yearStr").value;
var ref=document.getElementById("menu1");
ref.style.visibility="visible";
xmlhttp.open("post","<%=imgpath%>/yusuan/tongji/titletongji.do?yearStr="+yearStr);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
// xmlhttp.setRequestHeader('Content-Disposition','attachment;filename=' + "sdf" + '.xls', 'utf-8');
xmlhttp.send(null);
return ;
}
// }
</script>
评论
joynet007
2007-09-12
提示,我的 生成 Excel 实在 Action 中实现 ,我不知道
wwb.write();
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode(name + ".xls", "utf-8"));
这个是作什么用的 ,是不是 和Ajax 中的
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(null);
return ;
有冲突或者别的关系!!
wwb.write();
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode(name + ".xls", "utf-8"));
这个是作什么用的 ,是不是 和Ajax 中的
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(null);
return ;
有冲突或者别的关系!!
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 6603 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
div 排版如何显示再一条线 ...
<style type ="text/css">div.attd {dis ...
-- by 抛出异常的爱 -
div 排版如何显示再一条线 ...
能不能给个具体的例子!
-- by joynet007 -
div 排版如何显示再一条线 ...
position
-- by 布衣大盗 -
div 排版如何显示再一条线 ...
这个我是知道的 您的div{display:inline;} 如果是 & ...
-- by joynet007 -
div 排版如何显示再一条线 ...
div { display:inline;}
-- by sp42






评论排行榜