0
我正在使用内联SVG。我需要将SVG内容与页面中的其他信息一起发送到服务器(运行ASP.NET MVC)。 当SVG内容很小时,下面的代码可以正常工作,但是当内容太大时,数据不会被发送,甚至不会被发送到控制器。当SVG太大时,通过XMLSerializer发送SVG内容不起作用
的Javascript:
function saveSVG() {
var rack = document.getElementsByClassName("cwRacksSvgImg");
var markupTOs = '';
var script = associados.slice();
for (var i = 0; i < rack.length; i++) {
markupTOs = markupTOs + (new XMLSerializer()).serializeToString(rack[i]);
}
var svg = document.getElementsByTagName('svg')[0];
var floor_id = document.getElementById('floor_id').value;
var markup = (new XMLSerializer()).serializeToString(svg);
$.ajax({
type: 'Post',
dataType: 'json',
url: '/Planta/SavePlanta/',
data: JSON.stringify({
markup: markup,
markupTOs: markupTOs,
floor_id: floor_id,
script: script
}),
contentType: 'application/json; charset=utf-8',
success: function (data) {
}
});
}
控制器
public ActionResult SavePlanta(string markup, string markupTOs, int floor_id, string[] script) {
var bytes = Encoding.UTF8.GetBytes(markup);
}
以类似的方法,可以处理大量的SVG数据有什么建议?
非常感谢您的帮助!
将其转换成JSON客户端相反的,你可以尝试'encodeURIComponent方法()',然后JSON编码它的服务器上。它也可能在一定程度上破裂(FF中的字符数> 207588000)。 – Kaiido
感谢您的回复,我解决了使用此解决方案的问题:http://forums.asp.net/t/1751116.aspx?How%20to%20increase%20maxJsonLength%20for%20JSON%20POST%20in%20MVC3 – Sah