Asp.net core Razor 页面中的 Ajax 错误 400(错误请求)

问题描述 投票:0回答:1

我有一段代码,用于收集 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();
}

Error Image 更改ajax参数时一切都没有改变

javascript jquery ajax asp.net-core
1个回答
0
投票

感谢您的回复,但问题与如何从html页面收集数据和ajax参数并将其发布到asp.net razor页面中的处理程序有关。 完整的答案可以在这个link

找到
© www.soinside.com 2019 - 2024. All rights reserved.