javascript - 通过 mvc 中的 ajax actionlink 获取成功的响应 header

标签 javascript jquery asp.net ajax asp.net-mvc

我的页面上有ajax actionlink

@Ajax.ActionLink("Pending", "ApproveRequest", "Admin", new { Id = request.Id }, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "divItemAdd",OnSuccess="Successfun" })

我的 ApproveRequest 返回一些数据并添加响应 header 。

public ActionResult ApproveRequest(int Id)
        {
            using (ServiceRequestsApiController serviceRequestsApiController = new ServiceRequestsApiController())
            {
                var getMsg = serviceRequestsApiController.ApproveRequest(Id);
                if (getMsg == "1")
                    getMsg = "Request Approved";
                Response.AddHeader("X-Msg",getMsg);
                return ServiceRequest();
            }
        }

在jquery函数中,我写了这个

function Successfun(xhr, status)
    {
        var x = xhr.getResponseHeader("X-Msg")
        bootbox.alert(x);
    }

但它显示 xhr.getResponseHeader 不是一个函数。

最佳答案

我认为传递给成功处理程序的第一个参数将是操作方法返回的数据,jQuery xhr 包装器将是第三个参数。所以这应该有效:

function Successfun(data, status, xhr)
{
    var x = xhr.getResponseHeader("X-Msg");
    bootbox.alert(x);
}

关于javascript - 通过 mvc 中的 ajax actionlink 获取成功的响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451269/

相关文章:

javascript - 使用 Javascript 动态调整 HTML 元素的位置

javascript - 追加后矩形不可视化

javascript - JSliderNews 2.0 (jQuery) 如何添加淡入淡出效果

javascript - 使用 jQuery 将输入字段解析为格式化的 json

javascript - 在移动浏览器中测试 AJAX

asp.net - 升级到 dot net 4 后出现 IIS 错误

asp.net - 永久禁用 AutoEventWireup

javascript - Phonegap 应用程序文本和布局太小

jquery - 使用 qtip jquery 工具提示插件时,屏幕上只有一个工具提示处于事件状态

asp.net - C# 中的简单服务器和客户端请求/响应