Javascript 使用JQuery发布请求并接收多个答案,可能吗?

Javascript 使用JQuery发布请求并接收多个答案,可能吗?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我知道如何使用jquery进行post请求并获得一个响应,但我想知道是否可以使用AJAX发布一些内容,然后等待多个响应 它背后的想法是我有一个progressbar(我想制作动画),所以我需要在我的背景代码中获取执行状态,我用AJAX调用了它 这可能吗?我查过了。但这对我没有帮助 谢谢 当ajax在您的网页中执行时,您可以尝试识别ajax的状态。例如: <script type="text/javascript"> //in your DOM, CALL YOUR FUNCTION

我知道如何使用jquery进行post请求并获得一个响应,但我想知道是否可以使用AJAX发布一些内容,然后等待多个响应

它背后的想法是我有一个progressbar(我想制作动画),所以我需要在我的背景代码中获取执行状态,我用AJAX调用了它

这可能吗?我查过了。但这对我没有帮助


谢谢

当ajax在您的网页中执行时,您可以尝试识别ajax的状态。例如:

<script type="text/javascript">

//in your DOM, CALL YOUR FUNCTION

    loading();

    //set an interval to stop de function if the ajax is ready and all elements are ready
    $load = {
        setInterval(function() {
            loading();
        }, 1000); //each one second this Interval was checked if the page is complety ready
    }

    function loading() {

        var x = document.readyState;
        switch (x) {
            case 'loading';
                //show, hide something or animate an toolbar before of 50%
            break;

            case 'interactive';
                 //show, hide something or animate an toolbar before of 70%
            break;

            case 'complete';
                //show, hide something
                //we clean the interval to sstop if is compete and show the toolbar in 100%
                clearInterval($load);
            break;
        }

    }

</script>

//在DOM中,调用函数
加载();
//如果ajax已经准备好并且所有元素都已经准备好,则设置一个停止de功能的间隔
$load={
setInterval(函数(){
加载();
},1000);//如果页面已完全就绪,则每1秒检查一次此间隔
}
函数加载(){
var x=document.readyState;
开关(x){
案例“加载”;
//在50%之前显示、隐藏某些内容或设置工具栏动画
打破
个案"互动";;
//在70%之前显示、隐藏某些内容或设置工具栏动画
打破
案件"完成";;
//显示、隐藏某物
//如果是竞争,我们将清除到sstop的间隔,并100%显示工具栏
清除间隔($load);
打破
}
}

您可以在此处了解有关就绪状态属性的更多信息

您在发出几个AJAX请求并在其回调中处理响应时遇到问题吗?@AndrewCheong:我在后台有一个脚本,我用AJAX调用它……不多。对,但为什么不进行多个AJAX调用呢?e、 g.每5秒发送一次AJAX调用?没有任何东西表明脚本不能被多次调用。@AndrewCheong问题是,我的背景中有一个脚本可以做一些事情,我不能/不想把它分成几个脚本。我想用AJAX调用这个脚本一次,然后收到多个响应,这些响应告诉我脚本的哪些步骤已经执行,哪些步骤仍然需要执行,这样我就可以显示一个progressbar了。看起来你还没有真正理解http协议。一个请求触发一个响应,除非您保持套接字打开并将响应分割成块(您不太可能希望这样做)。另一种方法是使用WebSocket或类似工具打开tcp连接,以推送状态更新。我认为使用请求/响应模型无法轻松实现这一点。