Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 无法通过AJAX调用我的控制器方法_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Jquery 无法通过AJAX调用我的控制器方法

Jquery 无法通过AJAX调用我的控制器方法,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我的控制器中有此方法: [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public static List<List<GraphData>> GetData() { List<List<GraphData>> result = new List<List<GraphData>>(); if (HttpContext.Curre

我的控制器中有此方法:

[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;
}
我想对数据设置一个手表,这样我就可以看到我得到了什么,以便进一步操纵这些数据,但成功不会触发

$(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
    }
)};
对于url部分,请使用正确的操作名称和控制器名称

对于url部分,请使用正确的操作名称和控制器名称

对于url部分,请使用正确的操作名称和控制器名称


对于url部分,请使用正确的操作名称和控制器名称

请记住,此处的表单不是Web表单,而是ASP.NET MVC

如果希望通过Ajax调用ASP.NET MVC控制器方法:

  • 该方法不应是静态的
  • 您不需要使用属性来表示它是一个web方法,而是返回一个
    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);
}
public ActionResult GetData()
{
列表结果=新列表();
if(HttpContext.Current.Session[“GraphSensorData”]!=null)
{
结果=(列表)HttpContext.Current.Session[“GraphSensorData”];
返回Json(结果,JsonRequestBehavior.AllowGet);
}
else返回Json(newobject(),JsonRequestBehavior.AllowGet);
}

记住,这里的表单不是Web表单,而是ASP.NET MVC

如果希望通过Ajax调用ASP.NET MVC控制器方法:

  • 该方法不应是静态的
  • 您不需要使用属性来表示它是一个web方法,而是返回一个
    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);
}
public ActionResult GetData()
{
列表结果=新列表();
if(HttpContext.Current.Session[“GraphSensorData”]!=null)
{
结果=(列表)HttpContext.Current.Session[“GraphSensorData”];
返回Json(结果,JsonRequestBehavior.AllowGet);
}
else返回Json(newobject(),JsonRequestBehavior.AllowGet);
}

记住,这里的表单不是Web表单,而是ASP.NET MVC

如果希望通过Ajax调用ASP.NET MVC控制器方法:

  • 该方法不应是静态的
  • 您不需要使用属性来表示它是一个web方法,而是返回一个
    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);
}
public ActionResult GetData()
{
列表结果=新列表();
if(HttpContext.Current.Session[“GraphSensorData”]!=null)
{
结果=(列表)HttpContext.Current.Session[“GraphSensorData”];
返回Json(结果,JsonRequestBehavior.AllowGet);
}
else返回Json(newobject(),JsonRequestBehavior.AllowGet);
}

记住,这里的表单不是Web表单,而是ASP.NET MVC

如果希望通过Ajax调用ASP.NET MVC控制器方法:

  • 该方法不应是静态的
  • 您不需要使用属性来表示它是一个web方法,而是返回一个
    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);
}
public ActionResult GetData()
{
列表结果=新列表();
if(HttpContext.Current.Session[“GraphSensorData”]!=null)
{
结果=(列表)HttpContext.Current.Session[“GraphSensorData”];
返回Json(结果,JsonRequestBehavior.AllowGet);
}
else返回Json(newobject(),JsonRequestBehavior.AllowGet);
}

检查url。我想它一定是
url:'/MainPage.aspx/GetData',
或类似的东西。您可以尝试使用如下内容:window.location.href.split(“?”[0]+'/GetData'对于url,如果您从同一个控制器进行ajax调用,那么GetData existsWhat是Fiddler(或开发工具中的网络选项卡)说的?检查url。我想它一定是
url:'/MainPage.aspx/GetData',
或类似的东西。您可以尝试使用如下内容:window.location.href.split(“?”[0]+'/GetData'对于url,如果您从同一个控制器进行ajax调用,那么GetData existsWhat是Fiddler(或开发工具中的网络选项卡)说的?检查url。我想它一定是
url:'/MainPage.aspx/GetData',
或类似的东西。您可以尝试使用如下内容:window.location.href.split(“?”[0]+'/GetData'对于url,如果您从同一个控制器进行ajax调用,那么GetData existsWhat是Fiddler(或开发工具中的网络选项卡)说的?检查url。我想它一定是
url:'/MainPage.aspx/GetData',
或类似的东西。您可以尝试使用如下内容:window.location.href.split(“?”[0]+'/GetData'对于url,如果您从同一个控制器进行ajax调用,那么GetData Exists Fiddler(或开发工具中的网络选项卡)会说什么?有意义,现在调用方法,结果填充数据,但我的ajax成功没有触发:/Any thinks?有意义,现在调用方法,结果填充数据,但是我的ajax成功没有激发:/Any thinks?有意义,现在调用方法,结果填充数据,但是我的ajax成功没有激发:/Any thinks?有意义,现在调用方法,结果填充数据,但是我的ajax成功没有激发:/Any thinks?