javascript - AJAX 表单提交问题
问题描述
要求通过 ajax 调用提交表单,您将拦截结果并更新您的页面。你永远不会离开索引页面。
我无法让 ajax 调用正常工作
<form action="/cart" method="post" id="addProduct">
Quantity: <input type="number" name="quantity">
<button type="submit">Add to Cart</button>
<input type="hidden" name="productid" value="{{id}}">
<input type="hidden" name="update" value="0">
</form>
var form = $('#addProduct');
form.submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "/cart",
data: form,
dataType: "json",
success: function(e) {
window.location.href = "/";
}
});
})
解决方案
您可以使用
JavaScript
new FormData(document.querySelector('form'))
表单序列化(https://code.google.com/archive/p/form-serialize/)
serialize(document.forms[0]);
jQuery
$("form").serializeArray()
推荐阅读
- java - 使用 gradle 使用 SWRL API 创建 SWRL 规则的依赖问题
- python - 具有索引 groupby 的列的熊猫乘积
- xml - 如何在不创建向导的情况下将按钮添加到表单视图的操作
- flutter - 发生异常时重新加载当前屏幕
- javascript - 为什么要切片不纯的管道?
- mysql - MYSQL 5.7.20 - 按合并列的顺序左连接 - 非常奇怪的行为
- android - 如何以编程方式将 .apk 安装到 android 设备中?
- php - 为什么redis服务器报错,redis服务器运行正常而我的php框架是Laravel
- swift - 防止基于 NSDocument 的应用程序在崩溃后重新打开文档
- android - android - 自定义微调器项目上没有滚动