使用AJAX触发后台一个方法,比如该后台方法是生成5个文件,
public void Test()
{
M1();
Response.Write("文件1生成"); M2();
Response.Write("文件2生成"); M3();
Response.Write("文件3生成"); M4();
Response.Write("文件4生成"); M5();
Response.Write("文件5生成"); Response.End();
}怎么样能让AJAX在收到“文件1生成”的时候就显示到前台上,实现如下效果:进度:
文件1生成。
文件2生成。
文件3生成中....
public void Test()
{
M1();
Response.Write("文件1生成"); M2();
Response.Write("文件2生成"); M3();
Response.Write("文件3生成"); M4();
Response.Write("文件4生成"); M5();
Response.Write("文件5生成"); Response.End();
}怎么样能让AJAX在收到“文件1生成”的时候就显示到前台上,实现如下效果:进度:
文件1生成。
文件2生成。
文件3生成中....
不知道你现在的ajax用的是哪种方式
xxxxx:function(x)
{
$.ajax({
url:"",
data:{id:x},
....
success:function(){
//文件x已生成
if(++i!=6)
{
yyyy.xxxxx(i)
}
}
})
}
后台怎么发送数据呢?
是:
M1();
Response.Write("文件1生成"); Response.End(); M2();
Response.Write("文件2生成"); Response.End(); ……还是: M1();
Response.Write("文件1生成"); M2();
Response.Write("文件2生成"); …… Response.End();
后台怎么发送数据呢?
是:
M1();
Response.Write("文件1生成"); Response.End(); M2();
Response.Write("文件2生成"); Response.End(); ……还是: M1();
Response.Write("文件1生成"); M2();
Response.Write("文件2生成"); …… Response.End();
不知道你是不是只是根据规则在服务器上生成文件还是要把某个文件输出到客户端?
如果是只是生成文件,上面的代码就够了,Write出来的东西就是在jquery上能取到的东西(string)当然可以是string格式的json对象。取决你在ajax上指定的dataType,jquery会尝试为你转换成你指定的格式。如果是要输入文件到客户端,似乎ajax是做不到的,只能能过回发服务器,指定输出流的类型,通过2进制文件或writefile的方式输出。
执行一次 给隐藏域 赋值
前台的AJAX不停的提取隐藏域的值能行么
后台肯定是:
string p = this.requert.querystring(xxxxx);//取决你提交到服务的方式。
M(param p)
{
if(p==1)
生成文件1
else if(p==2)
生成文件2
.........Response.Write("文件"+p+"已生成"");
response.end();
}
{
XXXXX;
M2();
}M2()
{
YYYYY
M3()
}
if(pro.readyState == 4); //readState有5种可能的状态,0为未初始化;1为正在加载;2为已经加载;3为交互中;4为完成
{}
else
{
你需要显示的内容
}
if(xmlhttp.readyState == 4); //readState有5种可能的状态,0为未初始化;1为正在加载;2为已经加载;3为交互中;4为完成
{}
else
{
你需要显示的内容
}
上面写错了
ajax就不能上传文件,我现在有个上传图片的问题,上传后不刷新页面就要显示图片,很难搞啊 ?