質問編集履歴

2

jsのメソッド名が誤っていたため修正いたしました。

2020/09/01 08:10

投稿

Matsukubo
Matsukubo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -45,7 +45,7 @@
45
45
  </div>
46
46
  ```
47
47
  ```javascript (test.js)
48
- function bankDirectBtn(num) {
48
+ function testBtn(num) {
49
49
  $.ajax({
50
50
  url: '/test/input/btn',
51
51
  type: 'get',

1

エラー時の動きについて追記しております。

2020/09/01 08:10

投稿

Matsukubo
Matsukubo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -5,18 +5,23 @@
5
5
  エラーになってしまいます。
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
- Google Chromeのディベロッパーツールのコンソールを見たところ、ajaxでレスポンスを受け取ったあとにPOSTしているようで、
8
+ Google Chromeのディベロッパーツールのコンソールを見たところ、ajaxでレスポンスを受け取ったあとに以下のようにPOSTしているようで、
9
9
  コントローラ側ではPOSTに対応したメソッドが無いためエラーになっているようです。
10
+   ①/test/inputにアクセス
11
+   ②ボタンクリックでURLを「/test/index/btn」としてajax通信
12
+   ③通信後に/test/inputに対してPOSTしている。
13
+
10
14
  なぜ、POSTが走ってしまうのでしょうか。
11
15
  書き方に誤りがあれば、ご教示いただけますでしょうか。
12
16
 
13
17
  ```
14
- エラーメッセージ
18
+ 2020-09-01 16:46:06.335 WARN 14528 --- [nio-8080-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
15
19
  ```
16
20
 
17
21
  ### 該当のソースコード
18
22
 
19
- ```Java
23
+ ```Java (TestController.java)
24
+ (省略※/test/inputへのGET用メソッドがあります)
20
25
  @RequestMapping(value = "test/input/btn", method = RequestMethod.GET)
21
26
  public String bankDirectBtn(Model model, @RequestParam(value = "num")String num) {
22
27
 
@@ -26,7 +31,8 @@
26
31
  }
27
32
  ```
28
33
  numの値がある場合、ボタンを表示せず、numの値を表示させます。
29
- ```html
34
+ ```html (test/input.html)
35
+ (省略)
30
36
  <div id="testFragment" th:fragment="testFragment">
31
37
  <table class="testBtnArea" th:if="${#strings.isEmpty(num)}">
32
38
  <tr>
@@ -38,7 +44,7 @@
38
44
  <p th:if="${not #strings.isEmpty(num)} th:text="${num}" />
39
45
  </div>
40
46
  ```
41
- ```javascript
47
+ ```javascript (test.js)
42
48
  function bankDirectBtn(num) {
43
49
  $.ajax({
44
50
  url: '/test/input/btn',