【发布时间】:2014-07-03 13:53:20
【问题描述】:
我目前正在开发一个 ASP.Net MVC 项目。 我有一个 JavaScript 函数,它以 XML 字符串作为输入。我想将此发送给控制器。
我使用 AJAX 请求完成了此操作,但在控制器中该字符串为空。
查看:
function save() {
var xml = scheduler.toXML();
alert(xml);
var url = '@Url.Action("Save", "Home")'
$.ajax({
url: url,
Type: "POST",
dataType: 'json',
async: false,
data: xml,
contentType: 'application/json; charset=utf-8',
success: function (data) { alert("OK");},
error: function (jqXHR, exception) {
alert('Error message.');
}
});
控制器:
public ActionResult Save(string xml)
{
Console.WriteLine(xml);
W6ViewModel viewModel = new W6ViewModel();
viewModel.engineers = db.W6ENGINEERS.ToList();
viewModel.tasks = db.W6TASKS.ToList();
viewModel.skills = db.W6TASKS_REQUIRED_SKILLS1.ToList();
var engList = new List<object>();
foreach (var engineer in viewModel.engineers)
{
engList.Add(new { key = engineer.ID, label = engineer.Name });
}
ViewBag.engineers = engList;
return View("Index", viewModel);
}
var xml = scheduler.toXML()
警报(xml):
错误代码(对不起,文字墙):
[HttpRequestValidationException (0x80004005): A potentially dangerous Request.QueryString value was detected from the client (xmlString="<data><event>
【问题讨论】:
-
一切似乎都是
XML,但contenttype是json? -
是的,你的权利,但我相信 scheduler.toXML() 返回一个刺痛。docs.dhtmlx.com/scheduler/api__scheduler_toxml.html
-
还有一个
dataType: "xml"应该为你设置contentType -
将数据类型更改为 XML 时出现错误。
标签: c# javascript asp.net-mvc asp.net-mvc-4 controller