質問編集履歴
6
参考URL
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,7 @@
|
|
10
10
|
### 参考にしたサイト
|
11
11
|
- [https://loop-never-ends.com/laravel-ajax-call-controller-method/](https://loop-never-ends.com/laravel-ajax-call-controller-method/)
|
12
12
|
- [https://mintaku-blog.net/laravel-ajax/](https://mintaku-blog.net/laravel-ajax/)
|
13
|
+
- [https://noauto-nolife.com/post/laravel-ajax/](https://noauto-nolife.com/post/laravel-ajax/)
|
13
14
|
|
14
15
|
### Laravelのバージョン
|
15
16
|
Laravel Framework 8.54.0
|
5
調査が進んだので、質問タイトルと内容を絞った形に変更した。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ajax
|
1
|
+
ajaxでコントローラーを実行したいが、「Unexpected token < in JSON at position 0」というエラーが出る。
|
body
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
### やりたいこと
|
2
|
-
|
2
|
+
aljaxでタスクコントローラーのdelete関数を実行したいです。
|
3
|
-
|
4
|
-
|
3
|
+
しかし、Chromeの開発者ツールのコンソールに、「Unexpected token < in JSON at position 0」というエラーが出る。
|
5
|
-
delete関数にidを渡すところまで実装したいです。)
|
6
4
|
### 試したこと
|
5
|
+
- 渡したい値のidがjson形式と認識されていないのかと思い、JSON.stringify()をつけてみたが、同じエラーが出た。
|
6
|
+
- <head>にcsrf-tokenを書いた。
|
7
|
+
```ここに言語を入力
|
7
|
-
|
8
|
+
<meta name="csrf-token" content="{{ csrf_token() }}">
|
8
|
-
しかしサイトを参考に下のように実装したのですが、ボタンを押しても何の反応もありません。
|
9
|
-
|
9
|
+
```
|
10
10
|
### 参考にしたサイト
|
11
11
|
- [https://loop-never-ends.com/laravel-ajax-call-controller-method/](https://loop-never-ends.com/laravel-ajax-call-controller-method/)
|
12
12
|
- [https://mintaku-blog.net/laravel-ajax/](https://mintaku-blog.net/laravel-ajax/)
|
@@ -15,31 +15,20 @@
|
|
15
15
|
Laravel Framework 8.54.0
|
16
16
|
### ビュー
|
17
17
|
```ここに言語を入力
|
18
|
-
<h2>計測結果</h2>
|
19
|
-
<table class="table">
|
20
|
-
<thead>
|
21
|
-
<tr>
|
22
|
-
<th scope="col">#</th>
|
23
|
-
<th scope="col">タスク内容</th>
|
24
|
-
<th scope="col">経過時間</th>
|
25
|
-
<th scope="col">最終更新日</th>
|
26
|
-
<th scope="col">編集・削除</th>
|
27
|
-
</tr>
|
28
|
-
</thead>
|
29
18
|
<tbody>
|
30
19
|
@foreach($tasks as $task)
|
31
|
-
<tr
|
20
|
+
<tr>
|
32
|
-
<td
|
21
|
+
<td>{{ $task->id }}</td>
|
33
22
|
<td>{{ $task->task_name }}</td>
|
34
23
|
<td>{{ $task->total_time }}</td>
|
35
24
|
<td>{{ $task->updated_at }}</td>
|
36
|
-
<td>
|
25
|
+
<td>
|
37
|
-
|
26
|
+
<button type="button" id="edit" class="btn btn-success">編集</button>
|
38
|
-
|
27
|
+
<button type="button" id="delete" class="btn btn-danger">削除</button>
|
28
|
+
</td>
|
39
29
|
</tr>
|
40
30
|
@endforeach
|
41
31
|
</tbody>
|
42
|
-
</table>
|
43
32
|
|
44
33
|
--省略--
|
45
34
|
|
@@ -47,23 +36,30 @@
|
|
47
36
|
$('#delete').click(function() {
|
48
37
|
// コントローラーのメソッドに渡す値
|
49
38
|
var id = 1;
|
50
|
-
|
39
|
+
|
51
40
|
$.ajax({
|
52
41
|
headers: {
|
53
42
|
// POSTのときはトークンの記述がないと"419 (unknown status)"になるので注意
|
54
|
-
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr(
|
43
|
+
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
55
44
|
},
|
56
45
|
// POSTだけではなく、GETのメソッドも呼び出せる
|
57
46
|
type: 'POST',
|
58
47
|
// ルーティングで設定したURL
|
59
|
-
url:
|
48
|
+
url:'/delete/' + id,
|
60
49
|
dataType: 'json',
|
50
|
+
// scriptCharset : "UTF-8",
|
51
|
+
contentType: 'application/json',
|
52
|
+
data:id,
|
53
|
+
|
61
54
|
}).done(function(results) {
|
62
55
|
// 成功したときのコールバック
|
56
|
+
console.log('1');
|
63
57
|
}).fail(function(jqXHR, textStatus, errorThrown) {
|
64
58
|
// 失敗したときのコールバック
|
59
|
+
console.log('2'+errorThrown);
|
65
60
|
}).always(function() {
|
66
61
|
// 成否に関わらず実行されるコールバック
|
62
|
+
console.log('3');
|
67
63
|
});
|
68
64
|
})
|
69
65
|
});
|
4
参考にしたサイトの変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
開発者ツールにエラーもありません。どうすれば実装できますでしょうか?
|
10
10
|
### 参考にしたサイト
|
11
11
|
- [https://loop-never-ends.com/laravel-ajax-call-controller-method/](https://loop-never-ends.com/laravel-ajax-call-controller-method/)
|
12
|
-
- [https://
|
12
|
+
- [https://mintaku-blog.net/laravel-ajax/](https://mintaku-blog.net/laravel-ajax/)
|
13
13
|
|
14
14
|
### Laravelのバージョン
|
15
15
|
Laravel Framework 8.54.0
|
3
参考にしたサイトの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,8 @@
|
|
8
8
|
しかしサイトを参考に下のように実装したのですが、ボタンを押しても何の反応もありません。
|
9
9
|
開発者ツールにエラーもありません。どうすれば実装できますでしょうか?
|
10
10
|
### 参考にしたサイト
|
11
|
-
[https://loop-never-ends.com/laravel-ajax-call-controller-method/](https://loop-never-ends.com/laravel-ajax-call-controller-method/)
|
11
|
+
- [https://loop-never-ends.com/laravel-ajax-call-controller-method/](https://loop-never-ends.com/laravel-ajax-call-controller-method/)
|
12
|
+
- [https://sota1235.hatenablog.com/entry/2015/10/11/213000](https://sota1235.hatenablog.com/entry/2015/10/11/213000)
|
12
13
|
|
13
14
|
### Laravelのバージョン
|
14
15
|
Laravel Framework 8.54.0
|
2
目標の明確化のため
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
### やりたいこと
|
2
2
|
削除ボタンを押して、押した削除ボタンのある行を(非同期で)削除したいです。
|
3
|
+
|
4
|
+
(コントローラーの削除処理はあとで自分で書こうと思いますので、とりあえずタスクコントローラーの
|
5
|
+
delete関数にidを渡すところまで実装したいです。)
|
3
6
|
### 試したこと
|
4
7
|
削除ボタンを押したときに、ajaxのポスト通信で/delete/{id}'にidを渡して、タスクコントローラーのdelete関数を実行しようとしました。
|
5
8
|
しかしサイトを参考に下のように実装したのですが、ボタンを押しても何の反応もありません。
|
1
タグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|