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);

Success コールバックでは、すでに JavaScript 解析済みオブジェクトを取得しています。

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

OnCompleteXHR オブジェクトを常にパラメーターとして取得するコールバックではこれが当てはまらず、解析などを行うのはユーザー次第であることに注意してください。また、AJAX 呼び出しが失敗した場合でも、OnComlpete コールバックは常に実行されることに注意してください。これは、明らかに OnSuccess コールバックには当てはまりません。

于 2012-06-19T10:04:07.967 に答える