我想从ajax调用(对象)创建一个变量。电话看起来像这样:
// Get scheduled resource, id
$('#loading').show();
var resource_id = $.ajax({
url: campaign_planning_base_url() + '/get_schedule_resource_id',
data: {
event_id: event_id
},
type: "POST",
dataType: 'json',
success: function(data) {
var resource_id = data[order].resource_id;
return resource_id;
}
}).done(function() {
$('#loading').hide();
});
我收到的数据如下:
[{"resource_id":"36"}]
我喜欢在此调用之外使用resource_id的值(36)。但是当我提醒值
时alert (resource_id);
我收到[object Object]。我如何获得36的价值?有人有想法吗?
答案 0 :(得分:0)
由于AJAX是异步的,因此您无法将resource_id
返回给任何外部。您可以在success()
函数中调用外部函数。
// Outer function
function callOuterFunction(resource_id) {
alert(resource_id);
}
$('#loading').show();
var resource_id = $.ajax({
url: campaign_planning_base_url() + '/get_schedule_resource_id',
data: {
event_id: event_id
},
type: "POST",
dataType: 'json',
success: function(data) {
var resource_id = data[0].resource_id; // should be use 0 instead of `order`
callOuterFunction(resource_id);
}
}).done(function() {
$('#loading').hide();
});
答案 1 :(得分:0)
data[0].resource_id
将返回36并在成功块中写回调函数以使用此值是更好的选择