C# 将数据从jQuery Ajax发送到MVC控制器
我正在尝试将SVG字符串从索引页发送到控制器。但是它得到了一个空值C# 将数据从jQuery Ajax发送到MVC控制器,c#,jquery,.net,ajax,controller,C#,Jquery,.net,Ajax,Controller,我正在尝试将SVG字符串从索引页发送到控制器。但是它得到了一个空值 var str = "<svg height=\"350\" version=\"1.1\" ... svg properties ..." console.log(str); $.ajax({ type: "POST", //contentType: 'application/x-www-form-urlencoded; charset=UTF-8', //dataType: "text",
var str = "<svg height=\"350\" version=\"1.1\" ... svg properties ..."
console.log(str);
$.ajax({
type: "POST",
//contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
//dataType: "text",
url: window.location.origin + '/NavigationExport/GetSvgData',
//data: '{"value":"' + str + '"}',
data: {value :str},
}).done(function (data) {
debugger
});
但是这段代码给了我一个500的内部服务器错误
一个潜在危险的请求。从客户端检测到表单值(
value=“问题是因为MVC认为您试图在请求中发送HTML,并阻止它阻止任何XSS攻击。您可以通过向操作添加ValidateInput
注释来允许HTML/XML。在您的情况下,请尝试以下操作:
[HttpPost]
[ValidateInput(false)]
public void GetSvgData(string value)
{
return;
}
您可以将[ValidateInput(false)]用作控制器中的操作属性,以允许将HTML字符串传递给操作
[ValidateInput(false)]
public ActionResult ActionName()
{
}
但是[AllowHtml]仅对“Property”声明有效。此处给出一个错误。
[HttpPost]
[ValidateInput(false)]
public void GetSvgData(string value)
{
return;
}
[ValidateInput(false)]
public ActionResult ActionName()
{
}