HTML的URL里传递json字符串做参数

 本来就是想写一个html的测试链接,本意是代替人工在浏览器写测试链接了。发现HTTP的请求里不许带着”{}“,

 <a href='/test/TCproducer?msg={"tcId":123123,"tcStr":"abcdef"}' target="rigthFrame"><font size="5">3.测试TC</font></a>
  

IDEA报错

 o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

查了半天,转义字符替换一下就好了。Mark一下:

{ 转义成 %7B

} 转义成 %7D

 <a href='/test/TCproducer?msg=%7B"tcId":123123,"tcStr":"abcdef"%7D' target="rigthFrame"><font size="5">3.测试TC</font></a>

本来写href=”xxxx“样子的时候,html规则也不许带这个双引号里再出现”,对于这个双引号,可以放在一对单引号里就行了。

应该也可以这样:

”转义成 %22

在C#中,通常通过前端使用 jQuery 的 `$.ajax` 方法向控制器发送 AJAX 请求,并传递 JSON 数据。这种交互方式广泛应用于 ASP.NET MVC 或 ASP.NET Core 项目中,以实现异步通信并更新页面的部分内容。以下是一个完整的实现示例: ### 发送 JSON 数据到控制器的 AJAX 请求 ```javascript var dataToSend = { username: "user", password: "pass" }; $.ajax({ url: '/Home/Login', // 控制器的 URL type: 'POST', contentType: 'application/json; charset=utf-8', data: JSON.stringify(dataToSend), // 将 JavaScript 对象转换为 JSON 字符串 success: function (response) { console.log('Server response:', response); $('#some-section').html(response); // 更新页面的部分内容 }, error: function (xhr, status, error) { console.log('An error occurred: ' + error); } }); ``` 在控制器中,可以通过定义一个与 JSON 数据结构匹配的模型类来接收数据。例如: ```csharp public class LoginModel { public string Username { get; set; } public string Password { get; set; } } ``` 然后,在控制器中接收数据并返回响应: ```csharp [HttpPost] public IActionResult Login([FromBody] LoginModel model) { if (ModelState.IsValid) { // 处理登录逻辑 return Json(new { success = true, message = "登录成功" }); } return Json(new { success = false, message = "无效的输入" }); } ``` ### 注意事项 1. **`JSON.stringify` 的使用**:必须将 JavaScript 对象转换为 JSON 字符串,以便服务器能够正确解析请求数据 [^2]。 2. **`contentType` 设置**:需要将 `contentType` 设置为 `application/json`,以确保服务器知道接收到的是 JSON 数据 [^1]。 3. **模型绑定**:在 ASP.NET Core 中,使用 `[FromBody]` 特性来从请求体中提取 JSON 数据并绑定到模型对象 [^3]。 通过这种方式,可以实现前端与后端控制器之间的高效通信,并确保数据结构的完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值