基于你在评论中发布的链接(
SweetAlert dropdown dynamically add items in list
,以供参考),似乎需要用AJAX调用的结果填充SweetAlert。由于SweetAlert支持提供Promise对象作为“options”参数,并且由于jQuery$.ajax()返回一个实现Promise接口的对象,因此您可以很容易地将这两件事结合起来:
var optionsDataPromise = $.ajax({
url: '/shipments/courrier/get',
type: 'GET',
beforeSend: function (request) {
return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
}
});
swal({
input: 'select',
inputOptions: optionsDataPromise
})
在本例中,我们将$.ajax返回的承诺分配给
optionsDataPromise
变量,然后将该变量赋给
swal()
作为
inputOptions
参数。当Promise解析时(正如您可能猜到的,当AJAX调用成功返回时会发生这种情况),那么警报将填充基于AJAX调用返回的数据的选项。
P、 链接中的示例只是一个静态承诺,旨在模拟有用承诺(如AJAX请求)的行为。因为它总是返回相同的数据,这些数据可能直接放在一个对象中,所以它在本质上并没有实现任何有用的功能,它不是一个可以直接复制的构造。