Jquery 通过ajax serializeArray()发布特殊字符
我试图通过ajax发布整个表单数据。我的示例代码如下: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({
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("<", "<")
.Replace(">", ">")
.Replace("'", "&")
.Replace("@", "@");
}
public string Encode(string value)
{
return (value)
.Replace("\"", """)
.Replace("'", "''")
.Replace("<", "<")
.Replace(">", ">")
.Replace("&", "'")
.Replace("@", "@");
}
公共字符串解码(字符串值)
{
返回(值)
.Replace(“”,“\”)
.替换(“,”)
.替换(“';”、“&”)
.替换(“@;”,“@”);
}
公共字符串编码(字符串值)
{
返回(值)
.替换(“\”,“”)
.替换(“”,“”)
.替换(“,”)
.替换(“&”、“';”)
.替换“@”和“@;”;
}
您可以将要转换的字符串传递到其中一个,您应该可以得到所需的内容。您是否查看了此帖子。您的问题似乎与编码无关,因为据我所知,jQuery使用调用AJAX方法的网页编码来解释接收到的数据。所以问题一定是在应用程序的ASP部分解码。首先要确保一切都是UTF-8。