【发布时间】:2018-01-20 17:37:56
【问题描述】:
我想在视图加载时从控制器返回 JSON 值以查看我的控制器代码如下。
[HttpGet]
public ActionResult Add()
{
List<selectdata_Result> tbl = new List<selectdata_Result>();
tbl = context.selectdata("", "", "", "").ToList();
string s = JsonConvert.SerializeObject(tbl);
return Json(s, JsonRequestBehavior.AllowGet);
}
我的观点在下面
$.ajax({
url: '@Url.Action("Add", "Home")',
type: 'GET',
success: function (response) {
alert(response);
},
error: function (respons) {
alert("error");
}
})
我想在警报(响应)中获取我的 json 值。给我一些解决方案。当我的页面加载时,我的 json 值为 get
【问题讨论】:
-
删除
string s = JsonConvert.SerializeObject(tbl);- 它只是return Json(tbl, JsonRequestBehavior.AllowGet);它将序列化您的集合(您当前将其序列化两次)。然后在成功回调中使用循环来遍历集合) -
@StephenMuecke 当我点击按钮转到 [http] 控制器并返回正确的 json 数据时它的工作。但在 [httpget] 相同的方法中它不起作用
-
当然会(但是
[http]控制器是什么意思 - 你是指[HttpPost]方法吗?)这没什么区别,因为您已经拥有JsonRequestBehavior.AllowGet -
@StephenMuecke 但它在 httpget 中不起作用
-
会的!您在浏览器控制台中遇到什么错误?
标签: jquery json asp.net-mvc-5 jquery-ajaxq