0

我想在 onComplete 函数中显示从控制器返回的数据:

function onComplete() {
    alert(); //I want to show data that returned from controller in this.
}

这是ajax链接:

@Ajax.ActionLink("Upvote", "Upvote", "Author",
new AjaxOptions
{
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "vote_count",
    OnComplete = "onComplete",
})

我的控制器:

public ActionResult Upvote(Guid QuestionID)
{
     return Content("Message");
}

谢谢。

4

1 回答 1

1
function onComplete(result) {
    alert(result.responseText);
}

或者,如果您使用OnSuccess回调:

@Ajax.ActionLink("Upvote", "Upvote", "Author",
new AjaxOptions
{
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "vote_count",
    OnSuccess = "onSuccess",
})

你可以:

function onSuccess(result) {
    alert(result);
}

例如,如果您的控制器操作返回 JSON 结果:

return Json(new { foo = "bar" }, JsonRequestBehavior.AllowGet);

在您的成功回调中,您已经获得了一个 javascript 解析对象:

function onSuccess(result) {
    alert(result.foo);
}

请注意,回调的情况并非如此OnComplete,您始终将 XHR 对象作为参数,由您来进行解析等。还要注意 OnComlpete 回调总是被执行,即使 AJAX 调用失败,显然 OnSuccess 回调不是这种情况。

于 2012-06-19T10:04:07.967 回答