繁体   English   中英

实时ajax内容加载

[英]Live ajax content loading

如何动态解析ajax向其发送请求的php文件返回的内容?

我的代码:

jQuery(function () {
    var request = jQuery.ajax({
        url: "ajax/db.php",
        type: "POST",
        data: {
            addresses: '<?php echo implode(' * ', $addresses); ?>'
        }
    });
    request.done(function (msg) {
        jQuery("#response").append(msg);
    });
    request.fail(function (jqXHR, textStatus) {
        alert("Request failed: " + textStatus);
    });
});

AJAX / db.php中

<?php

    echo 'hello';
    sleep (5);
    echo 'world';

我要实现的是动态显示ajax/db.php文件响应-首先将hello字符串附加到#response对象中,睡眠5秒后应附加另一个string- world

目前,代码仅在5秒后追加了整个输出。

无论如何,是否可以使其像实时响应一样工作?

这就是PHP服务器的工作方式。 1个请求,1个输出。

如果要在sleep()之前和之后发送数据,可以使用ob_flush()吗?

像这样的东西(很抱歉,很久以前我用过这个,所以如果不行就不要开枪)

<?php

    echo 'hello';
    ob_flush();
    flush();
    sleep (5);
    echo 'world';

sleep(5)停止PHP执行,因此在执行终止之前,不会将任何内容返回给浏览器。 JavaScript必须再等待5秒才能获得整个响应,仅此而已。 如果要将响应分为多个部分,则必须依次发出两个Ajax请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM