gpt4 book ai didi

javascript - 执行ajax时如何将javascript变量值传递给jQuery validate() SubmitHandler

转载 作者:行者123 更新时间:2023-12-02 15:34:08 25 4
gpt4 key购买 nike

我正在使用 jQuery 插件对一个 ajax 调用进行验证。

目前我有这个:

  $("#invoiceForm").validate({
rules: {
plateNumber: {
required: true,
},
plateIssueState: {
required: true,
}
},
submitHandler: function(form) {
var invoice= 1 + Math.floor(Math.random() * 999999999);
$.ajax({
type: "POST",
url: "invoice",
data: $(form).serialize(),
success: function() {
},
error: function() {
}
});
return false;
}
});

submitHandler 能够序列化 HTML 表单中的所有数据,但这对我来说还不够。我还需要将变量invoice发送到后端,但是invoice变量不在form中。我尝试过这样做,但失败了,它不会采用正确的 JSON 数据格式:

data: JSON.stringify({invoiceData:invoice, formData:form}),

我该如何改变这个?

最佳答案

由于您的发票值只是一个变量,因此您可以将其附加到 data 字符串中:

$("#invoiceForm").validate({
rules: {
plateNumber: {
required: true,
},
plateIssueState: {
required: true,
}
},
submitHandler: function(form) {
var invoice= 1 + Math.floor(Math.random() * 999999999);
var formData = $(form).serializeArray().map(function(obj) {
var o = {};
o[obj.name] = obj.value;
return o;
});
var data = {
formData: formData,
invoiceData: invoice
};
$.ajax({
type: "POST",
url: "invoice",
data: JSON.stringify(data), // Send the concatenated values
success: function() {
},
error: function() {
}
});
return false;
}
});

关于javascript - 执行ajax时如何将javascript变量值传递给jQuery validate() SubmitHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33085526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com