sum*_*ore 2 ajax model-view-controller jquery
我一直在尝试制作 Ajax 帖子,但数据在控制器端总是为空。请帮助:-
**Model:-**
public class UpdateProxyTracker
{
public string Test_Reference_Id { get; set; }
public string Owner { get; set; }
public string Remarks { get; set; }
public string Status { get; set; }
}
**View:**
@using (Html.BeginForm("UpdateTracker", "Home", FormMethod.Post, new { id = "optionForm" }))
{
<div>
<fieldset style="background-color: #FFFFFF">
<legend>Update Details</legend>
<table>
<tr>
<td>Test Ref Id</td>
<td>
<input id="testrefId" readonly="readonly" type="text" value=@Model.Test_Reference_Id>
</td>
</tr>
......
...
}
**JQuery:**
$(document).ready(function () {
$("#SaveT").click(function () {
var status = $("#statusddl").val();
var owner = $("#owner").val();
var remark = $("#remark").val();
var test_Reference_Id = $("#testrefId").val();
var data =
{
'Test_Reference_Id': test_Reference_Id,
'Owner': owner,
'Remarks': remark,
'Status': status
};
$.ajax({
url: '@Url.Action("UpdateTracker", "Home")',
type: "POST",
contentType: 'application/json',
dataType: 'json',
data: data,
success: function (msg) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
});
**Controller:**
public ActionResult UpdateTracker(UpdateProxyTracker data)
{
SepHomeService svc = new SepHomeService();
bool isValid = svc.UpdateData(data);
var result = svc.GetData();
return View("Dataview", result);
}
Run Code Online (Sandbox Code Playgroud)
路由: routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
问题 这里的数据始终为 Null。我尝试将数据作为 JSON.stringify(data) 传递但没有帮助 我们是否需要添加 @Html.begin 表单标签来进行 ajax 调用 这里的数据在 ajax 调用之前被填充但没有传递给控制器 我们是否需要将 Route 更新为进行适当的 Ajax 调用?请建议
试试这个,它对我有用
不要使用
contentType: 'application/json',
dataType: 'json',
Run Code Online (Sandbox Code Playgroud)
如果方法不是 JsonResult,这些东西只适合 JsonResult不是ActionResult
使用以下方法。
$.ajax({
type: "POST",
data: {data:data},
url: '../{ControllerName}/{MethodName}',
success: function (response) {
},
error: function (response) {
alert(errorThrown);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9985 次 |
| 最近记录: |