Jquery 通过ajax serializeArray()发布特殊字符

Jquery 通过ajax serializeArray()发布特殊字符,jquery,ajax,asp.net-mvc-4,serializearray,Jquery,Ajax,Asp.net Mvc 4,Serializearray,我试图通过ajax发布整个表单数据。我的示例代码如下: $.ajax({ url: "@Url.Action("SaveTPGeneralInfo", "Techpack", new { area = "OMS" })", data: $('#FormId').serializeArray(), type: 'POST', success: function (data) {

我试图通过ajax发布整个表单数据。我的示例代码如下:

$.ajax({
            url: "@Url.Action("SaveTPGeneralInfo", "Techpack", new { area = "OMS" })",
            data: $('#FormId').serializeArray(),
            type: 'POST',
            success: function (data) {
                if (data) {
                   // .....
                }
            },
            error: function (error) {
                // .....
            }
        });
当我在asp.net mvc 4中工作时,我捕获的数据如下:

public int SaveTPGeneralInfo(oms_techpack oms_techpack) 
    {
        try
        {
            return 1;
        }
        catch (Exception ex)
        {
            return 0;
        }
    }

这里有些数据包含特殊字符(如&、@)。这些字符以加密的形式传递(如“&”传递的是“amp;”)。如何获取包含特殊字符的原始数据。需要帮助…

我创建了两个方法,通过这些方法运行结果以恢复原始结果

public string Decode(string value)
    {
        return (value)
            .Replace(""", "\"")
            .Replace("&lt;", "<")
            .Replace("&gt;", ">")
            .Replace("&#39;", "&")
            .Replace("&#64;", "@");
    }

    public string Encode(string value)
    {
        return (value)
          .Replace("\"", "&quot;")
          .Replace("'", "''")
          .Replace("<", "&lt;")
          .Replace(">", "&gt;")
          .Replace("&", "&#39;")
          .Replace("@", "&#64;");
    }
公共字符串解码(字符串值)
{
返回(值)
.Replace(“”,“\”)
.替换(“,”)
.替换(“';”、“&”)
.替换(“@;”,“@”);
}
公共字符串编码(字符串值)
{
返回(值)
.替换(“\”,“”)
.替换(“”,“”)
.替换(“,”)
.替换(“&”、“';”)
.替换“@”和“@;”;
}
您可以将要转换的字符串传递到其中一个,您应该可以得到所需的内容。

您是否查看了此帖子。您的问题似乎与编码无关,因为据我所知,jQuery使用调用AJAX方法的网页编码来解释接收到的数据。所以问题一定是在应用程序的ASP部分解码。首先要确保一切都是UTF-8。