无法从ajax帖子中提取我想要的字符串

时间:2017-02-28 19:27:46

标签: ajax asp.net-mvc

在我的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?

此致

麦克

1 个答案:

答案 0 :(得分:1)

要读取JSON值,您需要以这种方式阅读

var requestValue = data.session

由于您将它作为字符串传递给函数并想要在函数中读取它,这就是我建议你做的事情。您需要将字符串转换为JSON并提取值。

public ActionResult SetSession(string requestValue)
   {
    var JSONData = JSON.parse(requestValue);
    var sessionVal = JSONData.session;
...
...