私のhtmlドキュメントには次のものがあります:
<button onclick="doFunction()" type="submit" ...>Button</button>
関数は次のようになります。
doFunction() {
var goToThisUrl = "www.spring_controller_method.com?redirectUrl=this_page";
window.location.href = goToThisUrl;
}
doFunction() の URL は、Java Spring コントローラー メソッドの URL です。そのメソッドでは、データベースを操作し、元のページにリダイレクトする文字列を返します: return "redirect:" + redirectUrl.
ボタンが効かないのが難点。ボタンをクリックすると、ページが更新されますが、データベース内のデータは操作されません。これがスプリング コントローラー メソッドの問題ではないことを私が知っている理由は、次の 2 つの理由によるものです。
- コントローラー メソッドにブレークポイントがあり、ヒットしていません。
- 同じ
doFunction()
コードを Chrome 開発者コンソールで実行すると、コントローラー メソッドのブレークポイントがヒットし、データベース内のデータが変更されます。
なぜこれが起こるのかについて何か考えはありますか?