【发布时间】:2023-03-15 15:23:01
【问题描述】:
当用户点击“立即购买”时,我希望交易发生,并且一旦控制器处理,div 最终会淡出并删除。控制器中的所有内容都按应有的方式工作,但是当我成功将该函数放入时,它不会被调用。但是,当该功能位于成功之外时,它会起作用。此外,window.alert() 在成功时会以某种方式起作用。
这是我的脚本,关于控制器等一切正常
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('form.buy-product-form').on('submit', (function (e) {
e.preventDefault();
var product_id = $(this).attr("id");
$.ajax({
url: $(this).attr('action'),
type: 'POST',
data: {'id': product_id},
dataType: 'json',
success: function () {
window.alert("THIS ALERT COMMAND WORKS BUT THE FUNCTION DOESN'T!");
$(this).closest('.product').fadeOut("normal", function() {
$(this).closest('.product').remove();
});
}
});
}));
});
控制器中的所有内容都可以正常工作,这是它返回的内容:
return response()->json(['ok' => 'ok']);
【问题讨论】:
-
你确定 $(this).closest('.product').fadeOut("normal", function() { $(this).closest('.product').remove(); });这在成功回调之外有效??
-
是的,如果我在 ajax 函数之外调用它,它绝对可以正常工作。但我只希望函数在成功的情况下工作。