私はjQuery、Json、Ajaxを学ぶのが初めてです。概念をはっきりと理解しようとしていますが、ちょっと難しいことがあります。AJAX POSTを使用しているときに 'RedirectToAction'に悪いですか? (ASP.NET)
私はajax POST Deleteメソッドが動作していますが、私のprofです。私のコントローラのコードをリファクタリングして全体的なパフォーマンスを改善するように求めました。
これはコントローラ
// POST: Course/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Course course = courseService.GetCourseByID(id);
courseService.DeleteCourse(id);
return RedirectToAction("Index");
}
そして、私のajax
コール
$('#dialog-box').on("click", '#confirm-del', function() {
var token = $('input[name="__RequestVerificationToken"]').val();
var data = { id: id, __RequestVerificationToken: token };
$.ajax({
type: "POST",
url: "@Url.Action("Delete","Course")",
data: data,
//ajaxasync: true,
success: function() {
$("#dialog").dialog("close");
$('div.table-content').empty().load('.table-content');
//console.log("success");
},
error: function() {
console.log("failed");
}
});
});
私の教授の私の削除です。コメント "投稿削除ajaxはリロードのページを呼び出すか、ajaxに行きますか?リロードされたようです。ajaxのいくつかの要素の色を変更してajax呼び出しに行くことを確認します。 "
これは、私が問題を完全に理解することができないため、何をすべきかを明確にすることを求めた後でした。これは、ページをリロードしてから何もできません。
return RedirectToAction (Index)
の代わりに私がちょうどreturn View()
であれば、それはパフォーマンスが向上し、問題の世話をするでしょう。話している?
インストラクターがサーバーサイドのコードについて話しているようには聞こえません。彼はクライアントサイドのコードについて話しています。彼はJavaScriptであなたのAJAXのコールバックのいくつかの目に見える変化を実行して、ページをリロードせずにAJAX呼び出しが成功したことを確認するよう要求しています。 (ページがリロードされた場合、可視の変更はもう存在しないため) – David