我正在尝试使用以下代码通过ajax提交表单:
$(document).on('submit', '#form-discount', function (e) {
e.preventDefault()
$.ajax({
cache: false,
async: true,
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
beforeSend: function () {
},
success: function (data) {
},
});
});
但是这是在到达这个javascript代码之前到达控制器,所以它命中两次控制器动作。我该如何避免这种行为?谢谢
答案 0 :(得分:1)
您需要从回调中返回false以阻止该页面执行完整的回发。
这样的事情:
$(document).on('submit', '#form-discount', function (e) {
e.preventDefault()
$.ajax({
cache: false,
async: true,
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
beforeSend: function () {
},
success: function (data) {
},
});
return false;//stop postback
});