Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript 将Json数据返回到Ajax调用_Javascript_Jquery_Json_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 将Json数据返回到Ajax调用

Javascript 将Json数据返回到Ajax调用,javascript,jquery,json,ajax,asp.net-mvc,Javascript,Jquery,Json,Ajax,Asp.net Mvc,我在MVC中有一个发布到它的方法,我需要将一些数据返回到进程。 这是我发布到的MVC方法,返回值是json数据 [HttpPost] public JsonResult GetCalculateAmortizationSchedule() { var data = ... var httpClient = new HttpClient(); var response = httpClient.PostAsJsonAsync("http://localhost:62815/

我在MVC中有一个发布到它的方法,我需要将一些数据返回到进程。 这是我发布到的MVC方法,返回值是json数据

[HttpPost]
public JsonResult GetCalculateAmortizationSchedule()
{
    var data = ...
    var httpClient = new HttpClient();
    var response = httpClient.PostAsJsonAsync("http://localhost:62815/v1/APR/CalculateAmortizationSchedule", data).Result;
    var returnValue = response.Content.ReadAsAsync<Dictionary<int, AmItem>>().Result;
    return Json(returnValue);
}

我的问题是如何从方法中获取返回值?当我在returnjson(returnValue)之后运行这个函数时,该值并没有返回到Ajax方法,而是看到了错误警报,而没有看到成功警报

如果没有获得值,则应添加JsonBehavious

返回Json(returnValue,JsonRequestBehavior.AllowGet)

试试这个:

     success: function (result) {alert(JSON.stringify(result)); }
从您在下面的评论中发布的错误来看,字典似乎不可序列化。尝试设置
AllowGet
,如其他答案中所述。如果不起作用,则需要将字典转换为其他可序列化的对象。或者您也可以按照此操作在控制器中将字典序列化为json


试试这段代码:

 return Json(returnValues, JsonRequestBehavior.AllowGet);

尝试向结果发出警报,以查看返回的数据。应该有一些消息可以帮助您进行调试,因此,不要发出警报(“错误”),而是通过开发者工具控制台或网络选项卡发出警报(结果),向您显示正在发生的情况,这应该是您的第一个调用端口debugging@garek007是[object object]使用
console.log()
ok将您的错误更改为此错误:(xhr,状态,错误)然后,在函数do console.log(xhr)、console.log(status)、console.log(error)中,我得到了一个错误:“System.Collections.Generic.Dictionary`2[[System.Int32,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]不支持字典的序列化/反序列化,键必须是字符串或对象。”。
 return Json(returnValues, JsonRequestBehavior.AllowGet);