在我的asp mvc项目中,我有一个ajax调用,它发布了一个下拉列表的值,我希望用这个值设置会话。
$('#dropDownMenu').on('click', 'li', function () {
var txt = $('#schoolButtons').text();
data = {session: txt};
var requestValue = JSON.stringify(data);
$.ajax({
url: '@Url.Action("SetSession")',
type: 'POST',
data: "requestValue="+requestValue ,
}).success(function (data, textStatus, jqXHR) {
});
});
public ActionResult SetSession(string requestValue)
{
var sessionVal = Convert.ToString(requestValue);
if (sessionVal==null)
{
Debug.WriteLine("session is null");
}
Session["key"] = sessionVal;
return Json(requestValue);
}
当我输出会话的值时,我得到字符串{“session”:“州立学校”}当我想要的只是“州立学校”。我知道在函数数据中设置为{session:txt},但我如何才提取该txt?
此致
麦克
答案 0 :(得分:1)
要读取JSON值,您需要以这种方式阅读
var requestValue = data.session
由于您将它作为字符串传递给函数并想要在函数中读取它,这就是我建议你做的事情。您需要将字符串转换为JSON并提取值。
public ActionResult SetSession(string requestValue)
{
var JSONData = JSON.parse(requestValue);
var sessionVal = JSONData.session;
...
...