jQuery - 如何使用不同的步骤进行响应?

时间:2011-12-15 23:34:07

标签: php javascript jquery ajax

我希望有一个ajaxed表单,当用户点击提交时,它会将表单值提交给php文件,这里没什么好看的,到目前为止我都清楚了。

现在我希望从服务器获得几个响应来回购商店。

例如,表单用于撰写帖子,然后我的php文件会将该帖子发布到5个不同的论坛,我想在结果中准确显示它的作用

发布到论坛1 ...然后清除并显示发布到论坛2 ...

我想在jquery输出div中显示脚本当前正在进行的操作,我的问题是如何做到这一点?请告诉我jquery中的代码要求以及PHP中的代码要求。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这是一个应该为您完成此任务的功能:

//'step' indicates the current iteration of the posting loop, and 'limit' tells it after how many iterations to stop. If you want to post to 5 of 5 forums, set 'step' to 1 and 'limit' to 5.

function submitSteps(step, limit)
{
    if (step <= limit)
    {
    $.ajax({
        url: 'http://example.com',
        data: 'postTo='+step,
        beforeSend: function()
        {
             if ($('#notice p:last').html().indexOf('problem') > -1)
             {
                  $('#notice p:last').remove();
             }
             $('#notice').append('<p>Posting to forum '+step+'...</p>');   
        },
        success: function()
        {
             $('#notice p:last').remove();
             $('#notice').append('<p>Post to forum '+step+' complete!</p>');
             window.setTimeout('submitSteps(step+1, limit)', 1000);   
        },
        error: function()
        {
             $('#notice p:last').remove();
             $('#notice').append('<p>There was a problem posting to forum '+step+'.</p>');
             window.setTimeout('submitSteps(step, limit)', 1000);    
        }
    }
}