紫影基地

 找回密码
 立即注册
查看: 116|回复: 0

Request.Form 取不到ajax

[复制链接]
阅读字号:

2001

主题

2116

帖子

21万

积分

超级版主

Rank: 8Rank: 8

积分
210086
发表于 2024-5-15 09:06:46 | 显示全部楼层 |阅读模式

错误解释:

当您使用 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
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 08:44 , Processed in 0.079258 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表