|
错误解释:
当您使用 AJAX 请求向服务器发送数据时,如果您尝试使用 Request.Form 来访问这些数据,您可能无法获取到它们,因为 Request.Form 主要用于获取通过 application/x-www-form-urlencoded 或 multipart/form-data 编码的表单数据。
解决方法:
确保 AJAX 请求的 contentType 设置为 application/x-www-form-urlencoded,这是默认值,通常不需要更改。
使用 Request.Params["paramName"] 来访问 GET 或 POST 请求中的参数,它会检查 QueryString, Form, 和 Cookies 集合。
如果您发送的是 JSON 数据,您应该使用 Request.InputStream 或者 Request.ReadAsStringAsync() 来读取请求体中的内容,然后解析 JSON 数据。
如果使用的是 ASP.NET Core,您可以使用 FromBody 特性来指示模型绑定器从请求体中读取数据。
示例代码(ASP.NET MVC):
// JavaScript (AJAX)
$.ajax({
type: "POST",
url: "/YourController/YourAction",
data: { key: "value" }
});
// C# (Controller)
public ActionResult YourAction()
{
string value = Request.Params["key"]; // 获取数据
// 处理 value
}
示例代码(ASP.NET Core):
// JavaScript (AJAX)
$.ajax({
type: "POST",
url: "/YourController/YourAction",
contentType: "application/json",
data: JSON.stringify({ key: "value" })
});
// C# (Controller)
[HttpPost]
public IActionResult YourAction([FromBody] dynamic data)
{
string value = data.key; // 获取数据
// 处理 value
}
|
|