我如何在ajax回调函数中调用javascript函数

时间:2011-05-28 00:35:23

标签: ajax drupal

我如何在ajax回调函数中调用javascript函数以及如何将参数传递给此javascript函数,如字段名称或其他东西

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

1 个答案:

答案 0 :(得分: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架构。它的工作原理是因为您可以请求跨域的一件事是脚本。

<强> PHP

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

祝你好运,请在此处阅读更多内容:http://api.jquery.com/jQuery.ajax/