gpt4 book ai didi

ajax - 如何使用 ajax 和表单数据将验证码提交给 Controller

转载 作者:行者123 更新时间:2023-12-01 13:14:10 27 4
gpt4 key购买 nike

我有一个包含一些字段和文件上传的表单,在asp.net MVC 中使用ajax 呈现为部分 View 。提交表单时,我想将所有数据传递给 Controller ​​。但是如果我使用 $("form").serialize(),它不会将选定的文件传递给 Controller ​​。所以我使用 formData() 将数据传递给 Controller ​​。至此,一切正常。

但是在使用 CaptchaMvc 添加 captcha 之后,它没有到达 Controller 。即使我输入有效的 captcha,它在 Controller 中也是无效的。

这就是我使用 ajaxformData 向 Controller 发送数据的方式

       var data = new FormData(); 
var vidFile = null;
if ($("#FileUpload")[0].files.length > 0)
vidFile = $("#FileUpload")[0].files[0];
data.append("detail", $("#detail").val());
data.append("name", $("#name").val());

data.append("FileUpload", vidFile);
$.ajax({
url: "/home/submitData",
type: "POST",
contentType: false,
processData:false,
data: data,
success: function (response) {

if (response.success == true) {


} else {

}
}
});

有什么方法可以将验证码也传递给 Controller ​​吗?

最佳答案

为什么不能使用不同的 Controller 函数进行验证,如下:

提交时,先验证验证码,根据结果调用另一个 Controller 函数提交数据或显示错误。

 var submitData = function(){
var data = new FormData();
var vidFile = null;
if ($("#FileUpload")[0].files.length > 0)
vidFile = $("#FileUpload")[0].files[0];
data.append("detail", $("#detail").val());
data.append("name", $("#name").val());
data.append("FileUpload", vidFile);
$.ajax({
url: "/home/submitData",
type: "POST",
contentType: false,
processData:false,
data: data,
success: function (response) {
if (response.success == true) {
//Success

} else {
//Submission failed
}
}
});
}
var validateCaptcha = function(){
$.ajax({
url: "/home/validateCaptcha",
type: "POST",
data: $("form").serialize(),
success: function (response) {
if (response.success == true) {
submitData();
} else {
alert("Invalid Captcha entry");
}
}
});
}
$("form").submit(function(e){
validateCaptcha();
});

关于ajax - 如何使用 ajax 和表单数据将验证码提交给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57158558/

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