[英]asp.net MVC JavaScript call to controller
我目前正在研究一個 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>
像這樣命名您的參數:
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: xml},
contentType: 'application/json; charset=utf-8',
success: function (data) { alert("OK");},
error: function (jqXHR, exception) {
alert('Error message.');
}
});
還要將此標簽放在您的控制器操作上方:
[ValidateInput(false)]
請參閱以下ajax
調用:
$.ajax({
url: '@Url.Content("~/myaccount/CheckDuplicateEmailAddress")',
data: { "emailAddress": email },
async: false,
type: "post",
success: success,
error: error
});
控制器動作如下。 你需要這樣發送參數:
data: { "emailAddress": email }
記住區分大小寫和雙引號:
public bool CheckDuplicateEmailAddress(string emailAddress)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.