如果 ajax post 的接收者是这样的:
// process/te_bulk.php
$jsonList = '[{"AV"},{"QT"}]';
echo $jsonList;
sleep ( 5 ) // or, continue curl request for jsonList variable 1
$jsonArray = '[{"1","15","JOG"},{"2","20","RUN"}]';
echo $jsonArray;
sleep ( 4 ) // or, continue curl request for jsonList variable 2
$jsonArray = '[{"1","25","SWIM"},{"2","30","BIKE"}]';
echo $jsonArray;
第一次尝试 -将 XHR 加载延迟 5 秒,同时附加两个字符串,这会导致“无效 JSON”:
$.ajax({
type: "POST",
url: "process/te_bulk.php",
contentType: "application/json; charset=utf-8",
data: { user: "12345" }
}).success(function( msg ) {
var string = jQuery.parseJSON(msg);
alert( "Data Returned: "+string );
});
.post() 或 .ajax() 可以分别响应每个回声吗?在浏览器中加载页面 process/te_bulk.php 会产生 5 秒和 4 秒的延迟。换句话说,如何在页面可用时用数据填充页面,而不是在 te_bulk.php 完成处理时接收所有数据。
一种替代方法似乎是:有 2 个 .ajax() 函数,一个用于接收第一个字符串,根据需要处理和调用第二个函数,用于 $jsonArray 数据。
如果这是不可能的,是否有另一种简单的方法来显示所获得数据的“进度”指示器?