Ajax 函数(带嵌套)
function open_appointment(id)
{
save_method = 'open_appointment';
$('#form_open_appointment')[0].reset(); // reset form on modals
$('.form-group').removeClass('has-error'); // clear error class
$('.help-block').empty(); // clear error string
//Ajax Load data from ajax
$.ajax({
url : "<?php echo site_url('ReceptionistController/ajax_edit_appointment')?>/" + id,
type: "GET",
dataType: "JSON",
success: function(data)
{
$.ajax({
url : "<?php echo site_url('DoctorController/ajax_edit_patient')?>/" +data.ap_patient,
type: "GET",
dataType: "JSON",
success: function(data)
{
$('[name="pt_name"]').val(data.pt_name);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Failed');
}
});
$('#modal_open_appointment').modal('show'); // show bootstrap modal when complete loaded
$('.modal-title').text('Open Appointment'); // Set title to Bootstrap modal title
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error get data from ajax');
}
});
}
我想将一个 ajax 调用用于另一个 .我写了上面的代码但它不起作用(当嵌套时),并显示“失败”。 ajax调用函数嵌套有问题
最佳答案
你可以像下面这样使用 promise
代码未经测试...
供引用: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise
var getAppointment = function() {
return new Promise(function(resolve, reject) {
$.ajax({
url : "<?php echo site_url('ReceptionistController/ajax_edit_appointment')?>/" + id,
type: "GET",
dataType: "JSON",
success: function(data)
{
resolve(data);
},
error: function (jqXHR, textStatus, errorThrown)
{
reject('Error get data from ajax');
}
});
})
}
var editPatient = function(data) {
return new Promise(function(resolve, reject) {
$.ajax({
url : "<?php echo site_url('DoctorController/ajax_edit_patient')?>/" +data.ap_patient,
type: "GET",
dataType: "JSON",
success: function(data)
{
resolve(data);
},
error: function (jqXHR, textStatus, errorThrown)
{
reject('Failed');
}
});
}
}
getAppointment()
.then(function(data) {
return editPatient(data)
})
.then(function(data) {
$('[name="pt_name"]').val(data.pt_name);
})
.catch(function(error) {
console.log(error)
));
关于javascript - ajax调用函数的嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40630106/