我的网页上有ajax actionlink
。
@Ajax.ActionLink("Pending", "ApproveRequest", "Admin", new { Id = request.Id }, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "divItemAdd",OnSuccess="Successfun" })
我的ApproveRequest
会返回一些数据并添加回复标题。
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
不是函数。
答案 0 :(得分:1)
我认为传递给您的成功处理程序的第一个参数将是您的操作方法返回的数据,而jQuery xhr包装器将是第三个参数。所以这应该有效:
function Successfun(data, status, xhr)
{
var x = xhr.getResponseHeader("X-Msg");
bootbox.alert(x);
}