外部のJSファイルでボタンクリックが発生しましたが、別のビューにリダイレクトしようとしています。私はコントローラファイルでActionResultを取得していますが、最初のビューから移動したくありません。私はのActionResultに到達するために使用しています外部JavaScriptファイルからの表示にリダイレクトする方法
私のコードは
$('#Req1').on('click', function() {
console.log("Called");
$.ajax({
type: "POST",
url: "/FruitStandHome/Requirement1",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data, textStatus, jqXHR) {
}
});
});
で、コントローラ内のアクションの結果は、私はすでにこののActionResultにバインドされたビューを持っている
[HttpPost]
public ActionResult Requirement1()
{
return View();
}
ですが、として私はクリックイベントでそのビューに私を送信しないと言う。
私は私が何か間違ったことをやっているかなり確信しています。あなたのHTML内
ajaxを使用してリダイレクトすることはできません。 Ajaxの全ポイントは同じページにとどまることであり、Ajaxコールは決してリダイレクトされません。しかし、現在のページに 'Requirement1'メソッドによって返されたビューの結果を表示することができます。リダイレクトする場合は、ajaxを使用しないでください。ボタンをリンクしてください。 –
@StephenMuecke、これを行う方法は他にありますか、ボタンのリンクは唯一の方法ですか? – Chris
ajax呼び出しの成功コールバックでは、 'location.href = '/ FruitStandHome/Requirement1';'を使用できます。しかし、それはパフォーマンスを低下させているだけです。データを送信してリダイレクトしたい場合は、フォームと送信ボタンを使い、このメソッドでリダイレクトするために 'return RedirectToAction()'を使います。しかし、あなたの投稿がなぜデータを保存しない 'Requirement1()'に投稿されたのかは明らかではありません。 –