MVC4 ajax调用并正确返回数据
MVC4 ajax call and return data properly
我使用ajax在控制器中调用一个动作,如下所示。
$.ajax({
type: "POST",
url: "getUserInfo.json",
data: "",
success: function (data) {
if (data.resultInfo.result != "SUCCESS") { alert("error"); return; }
setUserInfo(data.userInfo);
//alert(data.resultInfo.result);
//alert(data.resultInfo.message);
settingMenu();
//historyBackProc(); //histroyback catch
},
error: function (data) {
alert(data.resultInfo.message);
}
});
它最终调用的是这个动作
public ActionResult getUserInfo()
{
if ( Session["UserInfo"] != null ) {
ViewData.Add("resultInfo", new resultInfo("SUCCESS"));
ViewData.Add("UserInfo", Session["UserInfo"]);
return Json(ViewData);
}
else
{
return RedirectToAction("index.mon");
}
}
并返回ajax成功回调,数据不是我想要的。
我想要的是
data
- "resultInfo" : object
- "UserInfo" : object
但是它最终只有对象,没有键。
data
- object[0]
- Key : "resultInfo"
- Value : object
- object[1]
- Key : "UserInfo"
- Value : object
要实现这一点,如何在操作中操作返回对象?我需要这样做,以运行这个web应用程序与绝对相同的javascript在JAVA和。net环境。
返回JSON时不需要使用ViewData
。您正在获得结果,因为ViewData
是一个字典。
return Json(new {
resultInfo = new resultInfo("SUCCESS"),
UserInfo = Session["UserInfo"]
});
不是ViewData.Add("resultInfo", new resultInfo("SUCCESS"));
ViewData.Add("UserInfo", Session["UserInfo"]);
return Json(ViewData);
Dim data As New SortedDictionary(Of String, String)
data.add("key","value")
data.add("key2","value2")
Dim serializer As New JavaScriptSerializer()
Return serializer.Serialize(data)
相关文章:
- AJAX调用并在Node中获取返回数据
- 角度服务未返回数据
- 统计ajax返回数据中的html元素
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- Imgur API图像搜索未返回数据
- javascript对象显示为null,但object.properties返回数据
- 如何从ajax调用JQuery返回数据
- 试图从嵌套的回调函数返回数据
- NodeJS FS 不从多个文件返回数据
- ajax函数未在C#中返回数据
- 如何在公共js模块中从web服务返回数据
- 将字符串与 JSON 对象组合以返回数据
- 嵌套异步函数未及时返回数据的问题
- NodeJS JSONStream 以一个长字符串的形式返回数据
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 从 Angular 模态服务中的模态主体模板返回数据
- jQuery 每个循环返回数据两次
- $.getJSON 在返回数据后不会运行函数
- 如何访问返回数据中的特定json值
- 工厂返回数据后未设置角度$scope