如何使用甜蜜警报添加Ajax调用
我的Ajax方法看起来像这样
$.post(url,{ ajax_call:"putDonation", addresse:addresse, phone:phone, email:email, name:name, amount:amount, amountinwords:amountinwords }).done(function(data){ console.log(data); var arr = []; try { var str = ""; //convert to json string arr = $.parseJSON(data); //convert to javascript array $.each(arr,function(key,value){ str +=""+value+" "; }); alert(str); $(".alert-danger").show(); $("#error").html(str); } catch (e) { swal("Jay Gayatri !", 'Donation Sucessful', "success") $("#donation")[0].reset(); } })
我想展示一个像这样的甜蜜警报警告弹出窗口
swal({ title: "Are you sure ?", text: "You will not be able to recover this imaginary file!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, delete it!", closeOnConfirm: false }, function(){ swal("Deleted!", "Your imaginary file has been deleted.", "success"); });
如果他们点击取消它不应该进行ajax呼叫,如果他们选择是,那么只有呼叫应该发生
那么任何人都可以告诉我如何在Sweet Alert
方法中嵌入Ajax方法
谢谢
举一个简单的例子,我可以告诉你我是如何在我的网站上做到的。 我把Ajax调用放在甜蜜警报中。
function deleteorder(orderid) { swal({ title: "Are you sure?", text: "Are you sure that you want to cancel this order?", type: "warning", showCancelButton: true, closeOnConfirm: false, confirmButtonText: "Yes, cancel it!", confirmButtonColor: "#ec6c62" }, function() { $.ajax( { type: "post", url: "/admin/delete_order.php", data: "orderid="+orderid, success: function(data){ } } ) .done(function(data) { swal("Canceled!", "Your order was successfully canceled!", "success"); $('#orders-history').load(document.URL + ' #orders-history'); }) .error(function(data) { swal("Oops", "We couldn't connect to the server!", "error"); }); }); }
因此,只有按下确认按钮才能进行ajax调用。 我希望这可以帮助您按照需要的方式安排代码。
它在网站上有参考 –
swal({ title: "Ajax request example", text: "Submit to run ajax request", type: "info", showCancelButton: true, closeOnConfirm: false, showLoaderOnConfirm: true, }, function(){ $.post(url,data,callback) });
这是我在我的网站中使用的代码。
swal({ title: 'Are you sure?', text: "Are you sure that you want to cancel this order?", showCancelButton: true, confirmButtonText: 'Confirm', cancelButtonText: 'Cancel', showLoaderOnConfirm: true, preConfirm: function () { return new Promise(function (resolve, reject) { $.ajax({ success: function(response) { resolve(response) }, error: function(a, b, c){ reject("error message") } }) }) }, allowOutsideClick: false }).then(function (response) { swal({ title: 'Success', type: 'success', html: 'Thank you
', showCancelButton: false, confirmButtonColor: '#3085d6', confirmButtonText: 'Close!', allowOutsideClick: false }).then(function () { window.location = '/'; }) })
在
preConfirm: function () { return new Promise(function (resolve, reject) {}) }
你必须打电话
resolve(response)
要么
reject()
在ajax回应之后。
你可以这样做。获取甜蜜警报的输入并通过ajax请求发送它
function change_stock(item_id) { swal({ title: "Edit Stock!!", text: "Enter the stock No: you wanded to change", type: "input", showCancelButton: true, closeOnConfirm: false, inputPlaceholder: "Write something" }, function (inputValue) { if (inputValue === false) return false; if (inputValue === "") { swal.showInputError("You need to write something!"); return false } setTimeout(function () { $.ajax( { type: "POST", url: "edit_stock.php", data: { stock_no : inputValue,itemid:item_id }, success: function(){ swal({ title: "Updated!", text: "Stock No: has Changed", type: "success",}, function () { location.reload(true); }); } } ); }, 2000); } ); }