两个方法
1.逐个邮件进行发送,单个邮件发送完成后返回完成信息给首页,首页显示完成信息后再次要求发送!以此循环!至发送完毕或被客户端终止!
2.用框架来发送,用parent来显示发送状态!

解决方案 »

  1.   

    处理发送的页面,将最新处理的计数值在页面输出.
    客户端JS脚本通过setInterval不断读取页面的最新值,并显示出来.
      

  2.   

    jnwentao : 的方法一,如果这样做的话,就要加一个字段来标记邮件是否已经发送完成。现在我没有进行标记。来来回回的也不好。方法二,用框架,说实话我没明白你的意思,不过我想到了一种可能的方法。这就去试试。也是用框架,把后面的php 页弄到框架里在和首页一起显示。这样在后面的php 页里就可以直接显示一个<div> or <lable>来显示计数值了。我想这个方法还是能实现的。//*************************zl_c : 谢谢你提供的函数。现在我也不明白后面的php页,是一起返回的值 ,还是一个个的返回,而在javascript处理里一起显示。如果是后者那么你说的函数就能用到了。如果是前者这解决不了问题。这我需要试一下。//**************************谢谢两位的帮助。这贴子我先不结。等我有结果了,把结果发上来再结。再次感谢。
      

  3.   

    yifanwu : 是说我的设计不好吗?为什么,还是你有更好的方法。能说出来吗?zl_c : 我详细的看了看。//*******************
    ajxa: 发送函数部分:
    xmlHttp.onreadystatechange = sendmailChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
    ajxa:接收部分:
    function sendmailChanged() {
    if(xmlHttp.readyState == 4) {
            alert(xmlHttp.responseText);
    //*******************
    在上面看来,后面的php 页面一定是循环输出值的。可是我发现问题就在这里。
    是php 页的问题。它是在全部输出后 ,js 文件里的状态才改变的。并不是输出一个值,改变一次的。
    所以在js 文件里没有办法处理这个问题。现在只有一种方法没试了。
      

  4.   

    ajax是一种http请求,先请求,后返回数据,
    不请求,服务器不会自动将数据推到数据库端
    你的这个问题,可以这样做,每发送一个,自动echo一个就行了,虽然是排到很长,但同样能看到相关内容
      

  5.   

    fxs_2008 : 你没看过我的后面的php 页面代码。
    我现在测试的代码就是每发送完成一个邮件就 echo $n;
    可是这样要全部发送完成。才会显示在首页的。例如有一次群发只是发送三个邮件地址。那么退回值就是:
    123
    //**************
    echo $n;         // echo 1;
    echo $n;         // echo 2;
    echo $n;         // echo 3;123
    //**************
    而我想要的是,2把1盖上,3把2盖上。
    这样最终显示的只是一个数字。而不是一串数字。你说的有道理。可是我在想会不会有其它的办法我没想到。正在想。