2011-05-28 119 views
0

我如何调用Ajax回调函数的JavaScript函数,以及如何我可以传递参数给这个javascript函数像场名称或东西我如何调用Ajax回调函数的JavaScript函数

'#ajax' => array(
    'callback' => 'ajax_javascript_function', 
    'wrapper' => 'd-div-autocomplete-textfield-div', 
    'method' => 'replace', 
    'event' => 'blur', 
    'effect' => 'fade', 
    'progress' => array('type' => 'throbber', 'message' => ''), 
), 
+0

PHP

echo "mycallback('" + $data + "');"; 

运气好,在这里阅读更多? – Shamoon 2011-05-28 00:47:15

回答

0

您需要将这些变量传递给一个带有javascript ajax JSONP的服务器。有很多种方法,但这里有两个例子:

带滑动查询字符串:

$.ajax({ 
type: "GET", 
dataType: "jsonp", 
url: "some.php?callback=mycallback", 
data: "name=John&location=Boston", 
success: function(response){ 
    alert("Data received: " + received); 
    }, 
error: function(e){ 
    alert(e); 
} 
}); 

与对象的查询字符串参数

$.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    url: "some.php?callback=mycallback", 
    data: { 
     "name" : "John", 
     "location" : "Boston" 
    } 
    success: function(response){ 
    alert("Data received: " + response); 
    }, 
    error: function(e){ 
    alert(e); 
    } 
}); 

你的PHP代码必须输出与你问的回调响应在这个JavaScript(我用'mycallback')。如果您没有编写PHP(或某种服务器端代码),那么该服务器必须同意返回您要求使用的回调函数所包装的响应。这样,响应会进入您的JavaScript,因为您告诉它它可以调用哪个函数。这被称为JSONP体系结构。这是有效的,因为您可以请求跨域的一件事是脚本。什么是你用你的AJAX http://api.jquery.com/jQuery.ajax/

+0

是的,我知道,但如何与drupal形式API整合? – user764851 2011-05-28 01:22:12