-1
讓我們說我有一個虛擬的服務器端代碼(ajax_response.php),它看起來是這樣的:jquery ajax - 有什麼辦法可以得到部分響應嗎?
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
sleep(1);
}
?>
這意味着後10秒它會迴應「12345678910」。
我也有以下的jQuery代碼:
$.ajax({
type: 'POST',
url: 'ajax_response.php'
}).then(function(results) {
//... success
}, function {
//... execute if error occurs
});
我可以用上面的Ajax獲得從ajax_response.php的反應,但問題是,成功的功能(即第一個函數內。然後)只會在ajax_response.php完成執行時(這需要10秒)時被調用。
我想知道我是否可以提高效率。即。只要在php文件中調用echo,我就會立即得到客戶端的響應。
如果您可以包含一些示例代碼,這將是非常好的。
不,你不能! Websockets或彗星似乎更多你在找什麼? – adeneo
或http://stackoverflow.com/questions/333664/simple-long-polling-example-code – mplungjan
你想要一個像Ajax進度條的東西嗎?一個簡單的(但有點骯髒的)解決方案是讓php寫入一個文件,並通過ajax(和一個不同的php腳本)輪詢該文件,間隔爲 – x4rf41