Tôi cố gắng để gửi một số nội dung cho khách hàng trước khi thực hiện một số công việc dài:Response.Flush() chỉ làm việc với Firefox
Response.Write("Processing...");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
Trong Firefox nó hoạt động như mong đợi nhưng trong IE8, Safari và Chrome nó chờ đợi cho đến khi tất cả mã được xử lý và sau đó hiển thị toàn bộ văn bản.
Tôi đã cố gắng gửi một HTML hình thành tốt hơn giống như các mẫu dưới đây nhưng tôi nhận được kết quả tương tự:
Response.Write("<html><head><title>test</title></head><body>Processing...</body></html>");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
Cảm ơn bạn!
Vì vậy, AJAX là cách duy nhất để làm điều đó? –
Bạn có thể chơi một số thủ thuật khác - IFrame là một, nhưng ajax là phần mềm hoàn hảo nhất và với các khung công tác như JQuery, nó không phải là một thách thức để thực hiện – mfeingold