ASP MVC AJAX在JavaScript中作为关联数组返回对象和访问
目前,我正试图通过对C#controller使用AJAX请求来了解ASP MVC;我可以通过AJAX请求调用我的控制器。然而,我正在努力回报我所期待的结果 总的来说,我试图从数据库中获取一些数据,并将其作为数组返回给JavaScript。如果在JavaScript中,我可以使用关联数组以ASP MVC AJAX在JavaScript中作为关联数组返回对象和访问,javascript,c#,asp.net,ajax,asp.net-mvc,Javascript,C#,Asp.net,Ajax,Asp.net Mvc,目前,我正试图通过对C#controller使用AJAX请求来了解ASP MVC;我可以通过AJAX请求调用我的控制器。然而,我正在努力回报我所期待的结果 总的来说,我试图从数据库中获取一些数据,并将其作为数组返回给JavaScript。如果在JavaScript中,我可以使用关联数组以array[“key”]等格式访问数据,那就太棒了 然而,这就是我在AJAX请求中遇到的情况,最初我从AJAX调用控制器 $.ajax({ type: "POST", url: "
array[“key”]
等格式访问数据,那就太棒了
然而,这就是我在AJAX请求中遇到的情况,最初我从AJAX调用控制器
$.ajax({
type: "POST",
url: "/booking/getParks",
dataType: "JSON",
async: false,
success: function (data) {
alert(data.data);
}
});
这调用了我的预订控制器中非常简单的函数,如下所示
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult getParks(string stylesheet)
{
var parks = Database.Open("SQLServerConnectionString").Query("SELECT * FROM Park");
return Json(new { data = parks });
}
现在,当我在JavaScript AJAX成功函数中发出警报时,您可以看到我调用了data.data
,这将输出以下内容:
现在,如果我要引用数据.data[0]
,这将输出[object object]
,如果我要进一步引用数据.data[0][“id”]
,在我的例子中,我希望输出为1。相反,我收到的是未定义的
现在,我猜这与我返回C#dynamic的方式有关
但是,我假设我将对象返回到AJAX的方式不正确
如何返回值,使其成为JavaScript中的关联数组?或者甚至是一种我可以接收数据并将其转换为JavaScript的方法
多谢各位
编辑:
alert(JSON.stringify(data));
返回:
SQL Server以DataTable格式返回数据,在返回到脚本之前,必须将其转换为JSON或List
类似:(使用Nuget中提供的Newtonsoft Json包)
以字符串形式通知json以查看其中的内容:Alert(json.stringify(data))代码>公园的数据类型是什么?数据集?自定义实体类?@EhsanSajjad-我用JSON stringify响应编辑了这篇文章。@Tseng parks是stringify结果的IEnumerable,看起来更像是返回一个表或列表
string JSONresult;
JSONresult = JsonConvert.SerializeObject(parks);
return JSONresult;