2011-05-28 229 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