jQuery,将成功数据从AJAX传递到另一个函数?

时间:2010-08-11 16:55:21

标签: javascript jquery ajax function

我正在尝试从jquery Ajax调用中获取成功数据,所以我可以在其他地方使用它,但由于某种原因它只能在实际的成功调用中访问,所以下面的immeditaly工作但是其他的不行'...任何建议是理解

      success: function(data) {
        alert (data)
      }

当我尝试将“数据”传递到另一个函数

时,这不起作用
    $.ajax({
      type: 'POST',
      url: 'http://localhost/site1/utilities/ajax_component_call_handler',
      data: {
            component_function: component_function,
            param_array: param_array
            },
            dataType: "json",
      success: function(data) {
        receiver (data)
      }
    });

}

我的ajax成功就是这样说:

function receiver (data) {

    ajax_return = data
alert (ajax_return)
}

2 个答案:

答案 0 :(得分:3)

不要将data用作变量名称。 jQuery对象有一个名为data的对象,它已经保存了任意数据。如果你调用变量dat,你应该会得到更好的结果。

请参阅http://api.jquery.com/jQuery.data/

较短的实现可能只是说success: receiver没有参数,并将接收者签名写为

function receiver(data, textStatus, XMLHttpRequest) {
  /* ... */
}

然后数据由jQuery回调传递。

答案 1 :(得分:3)

你试过了吗?

$.ajax({
    type: 'POST',
    url: 'http://localhost/site1/utilities/ajax_component_call_handler',
    data: {
        component_function: component_function,
        param_array: param_array
    },
    dataType: 'json',
    success: receiver
});

或者只使用已经使用的data以外的其他变量名称。