表单 post 但不重新加载页面
Form post but do not reload the page
我陷入了前所未有的困境。
我的情况:我正在做一个购物车。当用户单击 "Add" 按钮时,它会发布表单并在服务器端,即在 if(IsPost){....} 内,相应的项目将添加到我数据库中的购物车 table 中。
一切都很好,除了它重新加载页面并滚动回顶部。通过一些研究,我知道 Ajax 可能会有所帮助。然后我创建了一个新的.cshtml 页面add-to-cart.cshtnl。现在我的当前页面没有重新加载,但它打开了 add-to-cart.cshtml,这不是我想要的。现在我什至尝试学习 AJAX 并尝试看例子做事。没有任何帮助。请帮忙!
我的代码如下所示:P.S我在 webmatrix 中使用 razor。
<form method="post" id="productForm" action="~/add-to-cart.cshtml">
<input ............"Input Something.............../>
<button type="submit" id="add-button" >ADD</button>
</form>
在我添加到 cart.cshtml 时,我在 UI 上没有任何内容。它只是处理 data.I 不希望该页面加载。它看起来像这样:
ifIsPost(){
............ADD item to the cart table of database..............
}
现在我确信,AJAX 是我的解决方案,但是如何呢????
请不要给我不完整的答案。我已经在里面浪费了 3 天了:/
试试这个
$('#productForm').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data : $(this).serialize(),
success : function(response) {
//write your code here
},
error : fucntion(response) {
//write your code here
}
});
});
将此脚本放入 <script>
标签。
注意:不要忘记在您的页面中包含 jquery。
这是完整的工作解决方案:
$(function () {
$('#productForm').submit(function (ev) {
var frm = $(this);
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
//Do What Ever You Wanna Do
}
});
ev.preventDefault();
});
});
我陷入了前所未有的困境。
我的情况:我正在做一个购物车。当用户单击 "Add" 按钮时,它会发布表单并在服务器端,即在 if(IsPost){....} 内,相应的项目将添加到我数据库中的购物车 table 中。
一切都很好,除了它重新加载页面并滚动回顶部。通过一些研究,我知道 Ajax 可能会有所帮助。然后我创建了一个新的.cshtml 页面add-to-cart.cshtnl。现在我的当前页面没有重新加载,但它打开了 add-to-cart.cshtml,这不是我想要的。现在我什至尝试学习 AJAX 并尝试看例子做事。没有任何帮助。请帮忙!
我的代码如下所示:P.S我在 webmatrix 中使用 razor。
<form method="post" id="productForm" action="~/add-to-cart.cshtml">
<input ............"Input Something.............../>
<button type="submit" id="add-button" >ADD</button>
</form>
在我添加到 cart.cshtml 时,我在 UI 上没有任何内容。它只是处理 data.I 不希望该页面加载。它看起来像这样:
ifIsPost(){
............ADD item to the cart table of database..............
}
现在我确信,AJAX 是我的解决方案,但是如何呢???? 请不要给我不完整的答案。我已经在里面浪费了 3 天了:/
试试这个
$('#productForm').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data : $(this).serialize(),
success : function(response) {
//write your code here
},
error : fucntion(response) {
//write your code here
}
});
});
将此脚本放入 <script>
标签。
注意:不要忘记在您的页面中包含 jquery。
这是完整的工作解决方案:
$(function () {
$('#productForm').submit(function (ev) {
var frm = $(this);
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
//Do What Ever You Wanna Do
}
});
ev.preventDefault();
});
});