ajax成功响应更改为@html.raw

时间:2016-11-22 07:16:23

标签: javascript jquery json ajax jsonresult

我在Razor视图中有以下jquery代码

$(document).ready(function () {

    var grouplistvalues = @Html.Raw(Json.Encode(Session["grouplist"]));


    $("#nsline").click(function () {

        alert(grouplistvalues)

        $.ajax({
            type: "POST",
            url: "SetupGroups",
            data: { grouplist : grouplistvalues },
            dataType: "html",
            success: function (response)
            {
                grouplistvalues = null;
                grouplistvalues = response;
                alert(response)
            },
            error: function ()
            {

            }
        });

    });


    $("#ewline").click(function () {

        $.ajax({
            type: "POST",
            url: "SetupGroups",
            data: { grouplist : grouplistvalues },
            dataType: "html",
            success: function (response)
            {
                grouplistvalues = null;
                grouplistvalues = response;
            },
            error: function ()
            {

            }
        });        

    });

以上grouplistvalues以html raw

的形式参加会议

当我在#nsline点击功能上发出提醒时,我可以看到它,

enter image description here

在上面的函数中我调用了ajax函数和grouplistvalues值更新

一旦我在#nsline点击功能成功响应时发出警报,我就可以看到如下警告 enter image description here

因此(grouplistvalues值)1,2,..更改为[1,2..]我无法调用#ewline点击函数中的其他ajax函数,因为参数不同,

这是上面常见的ajax调用

    [HttpPost]
    public JsonResult SetupGroups(long[] grouplist)
    {
        Session["grouplist"] = null;

        List<long> groupList = new List<long>();

        foreach (var groupitem in grouplist)
        {
            groupList.Add(groupitem);
        }

        long[] grouparray = groupList.ToArray();
        Session["grouplist"] = grouparray;

        return Json(grouparray);
    }
}

虽然我有两个点击功能,但它只使用第一次点击(仅在第一次使用ewline或nsline)

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

这是您的ajax请求中的dataType。它应该是json

dataType: "json"