我的控制器中有这个方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static List<List<GraphData>> GetData()
{
List<List<GraphData>> result = new List<List<GraphData>>();
if (HttpContext.Current.Session["GraphSensorData"] != null)
{
result = (List<List<GraphData>>)HttpContext.Current.Session["GraphSensorData"];
return result;
}
else
return null;
}
我为它设置了一个断点,但是下面的ajax根本没有调用它:
$(document).ready(function () {
$.ajax({
type: "POST",
url: '/MainPage/GetData',
data: {},
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(data){
//some logic
}
)};
我想设置一个数据监视器,这样我就可以看到我为了进一步操作数据而获得的成功但是没有成功。
答案 0 :(得分:3)
请记住,这里不是Web窗体,而是ASP.NET MVC。
如果您希望通过Ajax调用ASP.NET MVC控制器方法:
static
JsonResult
。我认为这样的事情会起作用:
public ActionResult GetData()
{
List<List<GraphData>> result = new List<List<GraphData>>();
if (HttpContext.Current.Session["GraphSensorData"] != null)
{
result = (List<List<GraphData>>)HttpContext.Current.Session["GraphSensorData"];
return Json(result, JsonRequestBehavior.AllowGet);
}
else return Json(new object(), JsonRequestBehavior.AllowGet);
}
答案 1 :(得分:0)
$(document).ready(function () {
$.ajax({
type: "POST",
url: '@Url.Action("ACTION NAME","CONTROLLER NAME")',
data: {},
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(data){
//some logic
}
)};
对于网址部分,请使用正确的操作名称和控制器名称