2010-09-28 122 views
0

有沒有什麼辦法可以用async運行這段代碼:false?我注意到jQuery手冊在將調用返回值傳遞給一個變量時指定它必須爲true,但考慮到該方法是通用的,這是痛苦的。傳遞ajax調用變量(jQuery)

ajaxCall.classFunction = function($class, $function, $params){ 

//Ensure no errors occured 
$params = typeof($params) != 'undefined' ? $params : false; 

//Ajax Call for data 
var $r =$.ajax({ 
    type: 'POST', 
    url: 'json.php?c='+$class+'&func='+$function, 
    data: $params, 
    timeout:5000, 
    async:false, 
}).responseText; 
return $r; 
+0

你在這裏試圖做什麼?你是否試圖將函數發佈到PHP頁面,或者你想在POSTing後調用函數嗎? – 2010-09-28 15:16:07

+0

您可以通過jQuery的['.ajaxSetup()'-method]](http://api.jquery.com/jQuery.ajaxSetup/)將ajax調用設置爲默認同步。不過,這是一個糟糕的主意。 – jwueller 2010-09-28 15:17:57

+0

@dave一個js函數,它向服務器發佈類/函數/參數,然後通過所述爭論執行所述類/函數。 – Alex 2010-09-28 20:27:03

回答

1

不,您將不得不指定成功回調。異步設置爲true您的外部方法未被阻止並立即返回,而無需等待您的ajax調用的實際響應。

+0

您的意思是:異步設置爲* true *您的外部方法未被阻止並立即返回。 – 2010-09-28 15:17:28

+0

是的,更新了答案。乾杯! – 2010-09-28 15:20:09

+0

所以你說什麼,應該可以添加一個成功處理程序,然後可以將輸出分配給變量(或等)? – Alex 2010-09-28 20:24:46