2010-09-28 123 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