PHP / Ajax美元.获取调用返回数据作为输出,而不是等到接收到所有数据


PHP/Ajax $.get call - return data as output rather than waiting until received all data

在对我上一个问题的回答之后,我发现了Ajax,所提供的代码工作得很好:

<table class="my-data-table">
    <tr>
        <td class="col-1"></td>
        <td class="col-2"></td>
        <td class="col-3"></td>
    </tr>
</table>
<script>
$.get( "/path_to_table_data.php", function on_table_data_load( data ) {
    $( ".my-data-table .col-3" ).html( data );
});
</script>

这将在完成执行时从外部页面加载内容,即使该外部页面在加载时输出内容。

是否有任何方法可以将内容返回到调用页面,因为内容是由外部页面输出的,而不是等待它完成?

如果您的数据非常大,您可以将部分数据从服务器发送到客户端,而不是使用ajax请求。当你在服务器端处理数据时,很难在js端读取部分响应。所以,我推荐你用websocket实现php。你可以看到什么是Websockets,并在这里查看php中的示例

Update: Stream Url

<?php 
    $handle = fopen("path_tu_html_url", "r");
    while (!feof($handle)) { 
        $line = stream_get_line($handle, 1000000, "'n"); 
    } 
?>

这将在php端