ASP.Net MVC:将 JSON 发送到控制器

js

1个回答

写回答

明天吃点啥

2025-07-08 01:20

+ 关注

JS
JS

使用ASP.Net MVC发送JSON数据到控制器是一种常见的开发需求。在这篇文章中,我们将介绍如何通过自然语言生成一篇文章,并提供相应的代码示例。

发送JSON数据到控制器

首先,我们需要在前端页面上创建一个表单,以便用户输入数据并将其转换为JSON格式。可以使用JavaScript的JSON.stringify()方法将表单数据转换为JSON字符串。然后,使用Ajax(Asynchronous JavaScript and XML)技术将JSON数据发送到后端控制器。

在控制器中,我们可以使用ASP.Net MVC提供的特性来接收JSON数据。通过在控制器的参数前面添加[FromBody]特性,MVC框架将自动将传入的JSON数据转换为相应的对象。

以下是一个简单的示例代码,演示了如何发送JSON数据到控制器:

csharp

// 前端页面代码

<form id="myForm">

<input type="text" id="name" name="name" />

<input type="text" id="age" name="age" />

<button type="button" onclick="sendData()">发送数据</button>

</form>

<script>

function sendData() {

var form = document.getElementById("myForm");

var data = {

name: form.elements["name"].value,

age: form.elements["age"].value

};

var JSon = JSON.stringify(data);

var xhr = new XMLHttpRequest();

xhr.open("POST", "/Controller/Action", true);

xhr.setRequestHeader("Content-Type", "application/JSon");

xhr.onreadystatechange = function() {

if (xhr.readyState === 4 && xhr.status === 200) {

// 请求成功后的逻辑处理

}

};

xhr.send(JSon);

}

</script>

// 控制器代码

[HttpPost]

public IActionResult Action([FromBody] MyModel model)

{

// 对接收到的JSON数据进行处理

// ...

return Ok();

}

解析接收到的JSON数据

接下来,我们可以在控制器中解析接收到的JSON数据,并进行相应的处理。在示例代码中,我们使用了一个名为MyModel的自定义模型类来表示接收到的数据。你可以根据实际需求创建自己的模型类。

在控制器的Action方法中,我们可以对接收到的JSON数据进行验证、转换或其他处理。完成处理后,可以返回适当的响应,如Ok()方法表示请求成功。

通过ASP.Net MVC,我们可以方便地发送JSON数据到控制器。使用前端表单和JavaScript,我们可以将用户输入的数据转换为JSON格式,并通过Ajax发送到后端。在控制器中,我们可以使用[FromBody]特性接收JSON数据,并对其进行处理。

希望这篇文章能帮助你理解如何将JSON发送到控制器,并在ASP.Net MVC开发中应用。通过合理利用这一功能,你可以更好地处理前端和后端之间的数据交互。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号