我有一段代码,用于收集 HTML 页面中的输入值并使用 AJAX 将它们发布到处理程序。
但是,当通过 AJAX 发送时,我收到 400 Bad Request 错误,并且不会调用处理程序。
请指导我哪里做错了?
$("#sendButton").click(function (event) {
event.preventDefault();
var userId = $("#userId").val();
var userName = $("#username").val();
var message = $("#message").val();
var groupId = $("#groupid").val();
var attachFile = $("#f").get(0).files;
var formData = new FormData();
formData.append("FileAttach", attachFile);
formData.append("UserId", userId);
formData.append("UserName", userName);
formData.append("Message", message);
formData.append("GroupId", groupId);
$.ajax({
type: "POST",
url: "Index?handler=SendMessage",
data: formData,
encyType: "multipart/form-data",
processData: false,
contentType: false
});
$("#message").val('').focus();
const element = document.getElementById("preChat");
element.scrollIntoView({ block: "end" });
});
这是处理程序代码
public class InsertChatViewModel
{
public string UserId { get; set; }
public string GroupId { get; set; }
public string Message { get; set; }
public string UserName { get; set; }
public IFormFile FileAttach { get; set; }
}
public IActionResult OnPostSendMessage([FromForm] InsertChatViewModel model)
{
// It is not called here
return Page();
}
感谢您的回复,但问题与如何从html页面收集数据和ajax参数并将其发布到asp.net razor页面中的处理程序有关。 完整的答案可以在这个link
找到