我在我的網站上使用jQuery與jQuery,需要顯示進度/加載指標。同步Ajax加載指標
我的dilemna是這樣的:
- 同步AJAX鎖定瀏覽器,所以我不能做任何事情(如顯示加載指示器),直到內容被返回,而此時爲時已晚
- 我使用JSON作爲返回數據類型正在和設置異步= true,則返回一個空應答串
- 我的整個框架依賴於返回類型被JSON格式
我似乎無法找到任何方法讓JS向用戶指示某事正在進行中,除了做一個alert()。 (出於某種原因,警報確實有效)。
有什麼建議嗎?
我的代碼:
JS
var jqXHR = $.ajax(
{
type: "POST",
url: url,
cache: false,
data: params, // array of parameters
async: false, // responseText is empty if set to true
dataType: 'json',
error: function()
{
alert("Ajax post request to the following script failed: " + url);
}
});
var html = jqXHR.responseText;
PHP
$return = array();
$return['status'] = 1;
$return['message'] = "some html here ...";
echo json_encode($return);
感謝您的建議。我試過這個,但是當其他代碼似乎運行時,我得到一個空的響應文本,嘗試從尚未運行的ajax函數獲取響應文本,並失敗。不幸的是,在所有其他代碼上設置TimeTime並不實際,因爲抓取responseText的代碼遍及整個系統...... –
好吧,我最終使用了超時並修補了我的所有代碼,並且它工作得很好。所以感謝給我一個刺激讓我在那裏(會投你,但沒有足夠的聲望點!) –
謝謝!它的工作原理... – maverabil