我有简单的JavaScript代码,我想从控制器中获取对象并在脚本中对其进行解析,但是在脚本中,我无权访问该对象的任何属性。
我的对象(在控制器中):
public class userData
{
public string firstName { get; set; }
public string lastName { get; set; }
public string state { get; set; }
public bool success { get; set; }
}
脚本:
function load()
{
var sender = {
userNo : $("#userNo").val(),
}
$.ajax({
type : "POST",
url : "testGetUser",
data : sender,
success:function(data)
{
if(1)
{
$("#section #result0").html(data.firstName);
$("#section #result1").html(data.lastName);
$("#section #result2").html(data.state);
$("#section").slideDown().delay(1000).slideUp();
}
}
});
}
控制器:
[HttpPost]
public userData testGetUser(long userNo)
{
userData result = new userData();
result.firstName = Session["firstName"].ToString();
result.lastName = Session["lastName"].ToString();
result.state = Session["country"].ToString();
result.success = true;
return result;
}
在控制器中,使用以下命令:
[HttpPost]
public JsonResult testGetUser(long userNo)
{
userData result = new userData();
result.firstName = Session["firstName"].ToString();
result.lastName = Session["lastName"].ToString();
result.state = Session["country"].ToString();
result.success = true;
return Json(result);
}
似乎您没有使用变量userNo
,因此最好使用这样的GET请求:
public JsonResult testGetUser(/*remove parameter*/)
{
userData result = new userData();
result.firstName = Session["firstName"].ToString();
result.lastName = Session["lastName"].ToString();
result.state = Session["country"].ToString();
result.success = true;
return Json(result, JsonRequestBehavior.AllowGet);
}
JavaScript现在希望是这样的:
function load()
{
$.ajax({
type : "GET",
url : "testGetUser",
success:function(data) {
$("#section #result0").html(data.firstName);
$("#section #result1").html(data.lastName);
$("#section #result2").html(data.state);
$("#section").slideDown().delay(1000).slideUp();
}
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句