0

我试图简单地创建一个 json 回发,以便我可以在客户端更新一些控件。我找不到一个很好的例子来证明这一点。

这是我到目前为止所得到的,它似乎正在从控制器发出警报,但在客户端一直说“未定义”对象。

什么是实现这一目标的最佳实践方法,因为我不知道如何以与常规代码相同的方式调试 javascript?:( 我正在使用 vs2012 express、mvc 4、jquery 1.7.1 和 jquery mobile 1.1。

我的控制器时间/索引:

[HttpPost]
public JsonResult Index()
{
     var msg = "hello there";  //test message
     return Json(msg);
}

我的客户端:

function populateUserDetails() {
     var user = {};
     user.UserId = $("#UserId").val();    // potential fields i may use once i get it working
     $.post('Time/Index', user, updateFields, 'json');
 };

updateFields = function (data) {
    alert("hi " + data.msg);
    $("#textEntered").val(data.msg);
};

***更新** * ** * ***

通过将控制器中的返回对象包装到一个临时类中来修复它:

    [HttpPost]
    public JsonResult Index()
    {
        var response = new {msg = "hello there"};   //here's what i changed
        return Json(response);
    }
4

1 回答 1

0

替换您的最后一行代码,如下所示。

返回 Json(response,JsonRequestBehavior.AllowGet);

所以应该是这样的

[HttpPost]

public JsonResult Index()
{
    var response = new {msg = "hello there"};  
   //here's what i changed

   return Json(response,JsonRequestBehavior.AllowGet);
}
于 2013-06-24T07:09:51.250 回答