C# Json数据返回空值
晚上好,伙计们!我有一个奇怪的 长话短说,我正在从java脚本客户端发送一篇帖子,以从我的C#控制器获取一个整数,但是response.data返回空值。扭曲之处在于,C#方法和javascript/jquery函数都是从另一个项目中复制和粘贴的,它们都在另一个项目中工作。它们来自的项目是VS2010项目,它们被粘贴到VS2012项目中。我不确定这是否是一个问题,但它可能是相关的。在C#中正确获取整数,并且不缺少任何信息。更神秘的是,成功消息正确地返回到响应对象客户端。但是response.data对象为null,并引发异常 非常感谢您的任何帮助。谢谢 这是C#中的方法: 这是javascript/jquery函数:C# Json数据返回空值,c#,javascript,jquery,ajax,C#,Javascript,Jquery,Ajax,晚上好,伙计们!我有一个奇怪的 长话短说,我正在从java脚本客户端发送一篇帖子,以从我的C#控制器获取一个整数,但是response.data返回空值。扭曲之处在于,C#方法和javascript/jquery函数都是从另一个项目中复制和粘贴的,它们都在另一个项目中工作。它们来自的项目是VS2010项目,它们被粘贴到VS2012项目中。我不确定这是否是一个问题,但它可能是相关的。在C#中正确获取整数,并且不缺少任何信息。更神秘的是,成功消息正确地返回到响应对象客户端。但是response.da
function getMaxFileSize() {
$.post(settings.actions.getMaxFileSize, function (response) {
var maxFileSize = 0;
// Assign the correct size to the hidden field.
if (response.success) {
maxFileSize = response.data.maxFileSize;
$(settings.selectors.maxFileSizeHiddenInput).val(maxFileSize);
}
// Assign 0 to max file size: user cannot upload files.
else {
$(settings.selectors.maxFileSizeHiddenInput).val(maxFileSize);
}
});
}
在这里工作很好
TestController.cs
public class AjaxResponse
{
public AjaxResponse(bool success, object data)
{
this.success = success;
this.data = data;
}
public bool success { get; set; }
public object data { get; set; }
}
[HttpPost]
public ActionResult Ajax()
{
return Json(new AjaxResponse(true, new { num = 5 }));
}
Index.cshtml
$.post('@Url.Action("Ajax", "Test")', function (response) {
var num = 0;
debugger;
// Assign the correct size to the hidden field.
if (response.success) {
num = response.data.num;
$('h2').html(num);
}
// Assign 0 to max file size: user cannot upload files.
else {
$('h2').html(num);
}
});
FireBug中的JSON响应:
{"success":true,"data":{"num":5}}
嗨,谢伊。您的答案中的AjaxResponse类的结构给了我一个关于它是什么的线索:我的应用程序中的AjaxResponse类(不是由我构建的)没有正确分配数据(没有使用“this”,并且传入的参数与对象属性的名称和大小写相同,Data=Data)。本质上,这总是保持数据为空。谢谢你的帮助!
{"success":true,"data":{"num":5}}