ajax请求特殊字符乱码,ajax 向控制器发请求 data中带有富文本 及特殊字符导致乱码...

页面:

@{

Layout = null;

}

前端发送json,后台实体类接受

控制器:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace CreateId.Controllers

{

public class YinsheController : Controller

{

// GET: Yinshe

public ActionResult Index()

{

return View();

}

public ActionResult GetDate(P_Product obj) {

var hh = obj.Memo;

var res= HttpUtility.UrlDecode(hh);

return Json(res, JsonRequestBehavior.AllowGet);

}

public partial class P_Product

{

#region Primitive Properties

public virtual System.Guid Id

{

get;

set;

}

public virtual string Name

{

get;

set;

}

public virtual string CateCode

{

get;

set;

}

public virtual int Ptype

{

get;

set;

}

public virtual decimal Sales

{

get;

set;

}

public virtual int SortNum

{

get;

set;

}

public virtual int IsActive

{

get;

set;

}

public virtual string Memo

{

get;

set;

}

public virtual System.Guid StationId

{

get;

set;

}

#endregion

}

}

}

方法:在js中对带特殊字符的字符串进行

encodeURI('')

在  控制器中得到

3987f9e0669dbc50454e4d7872531e49.png

这不是我们想要的:

进行

var res= HttpUtility.UrlDecode(hh); 得到

'

'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Servlet 代码,用于处理 HTTP 协议的 POST、PUT、DELETE 请求,并返回一个简单的字符串: ```java import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/api") public class APIServlet extends HttpServlet { private static final long serialVersionUID = 1L; public APIServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain; charset=utf-8"); PrintWriter out = response.getWriter(); out.println("GET 请求已成功处理!"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain; charset=utf-8"); PrintWriter out = response.getWriter(); out.println("POST 请求已成功处理!"); } protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain; charset=utf-8"); PrintWriter out = response.getWriter(); out.println("PUT 请求已成功处理!"); } protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain; charset=utf-8"); PrintWriter out = response.getWriter(); out.println("DELETE 请求已成功处理!"); } } ``` 使用 AJAX 构造请求进行验证的方式如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>AJAX 测试</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(document).ready(function() { $("#get-btn").click(function() { $.get("api", function(data) { $("#result").text(data); }); }); $("#post-btn").click(function() { $.post("api", function(data) { $("#result").text(data); }); }); $("#put-btn").click(function() { $.ajax({ url: "api", type: "PUT", success: function(data) { $("#result").text(data); } }); }); $("#delete-btn").click(function() { $.ajax({ url: "api", type: "DELETE", success: function(data) { $("#result").text(data); } }); }); }); </script> </head> <body> <button id="get-btn">送 GET 请求</button> <button id="post-btn">送 POST 请求</button> <button id="put-btn">送 PUT 请求</button> <button id="delete-btn">送 DELETE 请求</button> <br> <br> <div id="result"></div> </body> </html> ``` 以上代码将创建四个按钮,分别用于送 GET、POST、PUT、DELETE 请求。点击每个按钮时,将使用 AJAX 请求,并在页面上显示响应的字符串。由于 Servlet 设置了字符编码为 UTF-8,因此文输出不会乱码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值