由ajax serializeArray()发布特殊字符

时间:2014-01-02 09:32:32

标签: 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) {
                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;')。如何获取包含特殊字符的原始数据。需要帮助......

1 个答案:

答案 0 :(得分:0)

我创建了2个方法,我运行结果来获取原始文件。

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;");
    }

你可以传递你想要转换成其中一个的字符串,你应该得到你想要的东西。