我是jQuery和Json的新手。我想使用jQuery和Json将下拉列表中的值传递给控制器,但无论我做什么,我都会收到错误消息。
这是我的代码:
查看
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#ACT_NO").change(function () {
var selectedItem = $(this).val();
var txt = $("#testID");
if (selectedItem != null || selectedItem != "")
{
$("#testID").replaceWith("VALUE PRESENT");
$("#testID1").replaceWith(selectedItem);
}
$.ajax({
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({ id: $("#ACT_NO").val() }),
type: "POST",
url: '@Url.Action("matterdict/getActionDesc")',
success: function (data) {
alert('successful');
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed to retrieve data.');
}
});
});
$("#ACT_NO").change(function () {
$("#testID").replaceWith("successful");
});
});
</script>
此处ACT_NO是DDL的ID
我的控制器代码
public JsonResult getActionDesc(int act_no)
{
IEnumerable<string> result = newOps.getAction(act_no);
return Json(new SelectList(result));
}
我不确定我的代码有什么问题,我们将不胜感激任何帮助。
谢谢..
答案 0 :(得分:0)
在控制器页面中接收数据时,我们应该使用我们通过json发送的具有相应数据类型的相同属性名来获取json id的值。
在这里,你已经在json中发送'id'作为属性名称,同时通过ajax post发送它并在控制器中使用相同的'id'来获取该值。
public JsonResult getActionDesc(int id)
{
------
}