我正在使用内联SVG。我需要将SVG内容发送到服务器(运行ASP.NET MVC)以及来自页面的其他信息。当SVG内容很小时,下面的代码可以很好地工作,但是当内容太大时,数据不会被发送,甚至不会发送到Controller。
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数据的类似方法,有什么建议吗?
提前感谢您的帮助!
发布于 2016-01-07 15:09:11
问题是,由于数据量太大,我收到了错误:
异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。
我在这篇文章中解决了这个问题:
https://stackoverflow.com/questions/34636781
复制相似问题