我的页面上有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/