我正在尝试从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)
}
答案 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
以外的其他变量名称。