JQuery - $ .ajax POST不会发送带有“<”的数据符号到控制器

时间:2012-03-14 12:35:55

标签: jquery asp.net-mvc

我使用Jquery - $ .ajax POST命令用“<”发送一些数据符号到控制器,但它没有触发控制器方法,

    var xml="<user>";
     $.ajax({
                type: 'POST',
                cache: false,
                url: '<%=Url.Action("MethodName","ControllerName") %>',
                data: { strXMLData: xml },
                success: function (data) {                            
                }
            });

我想将“&lt; user&gt;”的字符串值发送到我的控制器方法,但是当我使用像“** user&gt;这样的字符串时,它没有触发控制器方法; ** “表示数据将发送控制器方法....如何使用”&lt;“发送数据符号或任何其他解决方案?

1 个答案:

答案 0 :(得分:2)

确保使用[ValidateInput(false)]

装饰控制器操作
[ValidateInput(false)]
public ActionResult MethodName(string strXMLData)
{
    ...
}

如果您使用ASP.NET MVC 3,那就是您所需要的。

如果您使用ASP.NET MVC 1或2但在ASP.NET 4.0中运行,则还需要在web.config中设置以下内容以使此属性生效:

<httpRuntime requestValidationMode="2.0"/>