2012-10-28 59 views
0

我試圖簡單地創建一個json回發,所以我可以更新客戶端的一些控件。我無法找到一個很好的例子來證明這一點。jquery postback不工作在mvc 4客戶端

這是我迄今得到的,似乎是從控制器發出警報,但在客戶端一直說'未定義'對象。

什麼是實現這一目標的最佳實踐方法,因爲我不知道如何以普通代碼的相同方式調試javascript? :(我用vs2012表達,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); 
}; 

*** UPDATE ** * ** * ***

固定它通過包裹在控制器返回的對象爲臨時類:

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

回答

0

如下替換的代碼的最後一行。

return Json(response,JsonRequestBehavior.AllowGet);

所以它應該是這樣的

[HttpPost]

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

    return Json(response,JsonRequestBehavior.AllowGet); 
}