teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

Laravelドキュメントのルートパラメータの項へのリンクを追記しました。

2021/03/13 05:14

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -6,12 +6,15 @@
6
6
  ```
7
7
 
8
8
  $.ajax関数へ渡す引数は、
9
- urlの値はシングルクォートではなくバッククォートで囲む必要があります。シングルクォートだと`${store_id}`等の部分が展開されないはずです。あるいは以下のように`+`で連結しましょう。
9
+ urlの値はシングルクォートではなくバッククォートで囲む必要があります。シングルクォートだと`${store_id}`等の部分が展開されないからです。あるいは以下のように`+`で連結しましょう。
10
- urlの中にそれらの値が正しく展開されれば、data: $.param({ ... }) で値を渡す必要もありません。urlに含まれるそれらの値を、addToCastアクションの引数で受け取れるはずです。
11
10
 
12
11
  ```js
13
12
  $.ajax({
14
13
  'url': '/realshop/' + store_id + '/coupon/' + coupon_id + '/fetch',
15
14
  'type': 'POST',
16
15
  }).done(function(data) {
17
- ```
16
+ ```
17
+
18
+ urlの中にそれらの値が正しく展開されれば、data: $.param({ ... }) で値を渡す必要もありません。urlに含まれるそれらの値(ルートパラメータ)は、addToCastアクションの引数で受け取れるからです。
19
+
20
+ 参考: [ルートパラメータ](https://readouble.com/laravel/8.x/ja/routing.html#route-parameters)

6

download_coupon_click呼出し箇所のコードが掲載されましたので、推測したコードを削除しました。

2021/03/13 05:14

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -1,16 +1,5 @@
1
- Bladeのコードが掲載されていないので推測になりますが
2
- download_coupon_click関数は、例えば以下のような感じ呼ばれるというとでしょうか
1
+ download_coupon_click関数は、引数store_id, coupon_idを受け取ているとますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょか。下記2行を削除してみるどうでしょうか
3
2
 
4
- ```html
5
- <input
6
- type="button"
7
- value="クーポンをダウンロード"
8
- onclick="download_coupon_click(this, {{ $store->id }}, {{ $coupon->id }})"
9
- >
10
- ```
11
-
12
- その場合、download_coupon_click関数は、引数でstore_id, coupon_idを受け取れていると思いますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょうか。下記2行を削除してみるとどうでしょうか。
13
-
14
3
  ```js
15
4
  var store_id = $(this).data('store-id');
16
5
  var coupon_id = $(this).data('coupon-id');

5

文章の軽微な改善です。

2021/03/13 04:47

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  $.ajax関数へ渡す引数は、
20
20
  urlの値はシングルクォートではなくバッククォートで囲む必要があります。シングルクォートだと`${store_id}`等の部分が展開されないはずです。あるいは以下のように`+`で連結しましょう。
21
- urlの中にそれらの値が正しく展開されれば、dataで値を渡す必要も無いはずです。urlに含まれるそれらの値を、addToCastアクションの引数で受け取れるはずです。
21
+ urlの中にそれらの値が正しく展開されれば、data: $.param({ ... }) で値を渡す必要もありません。urlに含まれるそれらの値を、addToCastアクションの引数で受け取れるはずです。
22
22
 
23
23
  ```js
24
24
  $.ajax({

4

$.ajax関数へ渡す引数について追記しました。

2021/03/13 01:12

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -11,7 +11,18 @@
11
11
 
12
12
  その場合、download_coupon_click関数は、引数でstore_id, coupon_idを受け取れていると思いますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょうか。下記2行を削除してみるとどうでしょうか。
13
13
 
14
- ```html
14
+ ```js
15
15
  var store_id = $(this).data('store-id');
16
16
  var coupon_id = $(this).data('coupon-id');
17
+ ```
18
+
19
+ $.ajax関数へ渡す引数は、
20
+ urlの値はシングルクォートではなくバッククォートで囲む必要があります。シングルクォートだと`${store_id}`等の部分が展開されないはずです。あるいは以下のように`+`で連結しましょう。
21
+ urlの中にそれらの値が正しく展開されれば、dataで値を渡す必要も無いはずです。urlに含まれるそれらの値を、addToCastアクションの引数で受け取れるはずです。
22
+
23
+ ```js
24
+ $.ajax({
25
+ 'url': '/realshop/' + store_id + '/coupon/' + coupon_id + '/fetch',
26
+ 'type': 'POST',
27
+ }).done(function(data) {
17
28
  ```

3

推測が間違っていたのでBlade名を削除しました(勘違いでした)。

2021/03/13 01:08

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -1,4 +1,4 @@
1
- coupon_ok.blade.phpのコードが掲載されていないので推測になりますが
1
+ Bladeのコードが掲載されていないので推測になりますが
2
2
  download_coupon_click関数は、例えば以下のような感じで呼ばれるということでしょうか?
3
3
 
4
4
  ```html

2

文章の軽微な改善です。

2021/03/13 00:25

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -1,4 +1,4 @@
1
- Bladeのコードが掲載されていないので推測になりますが
1
+ coupon_ok.blade.phpのコードが掲載されていないので推測になりますが
2
2
  download_coupon_click関数は、例えば以下のような感じで呼ばれるということでしょうか?
3
3
 
4
4
  ```html
@@ -9,7 +9,7 @@
9
9
  >
10
10
  ```
11
11
 
12
- その場合、download_coupon_click関数引数でstore_id, coupon_idを受け取れていると思いますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょうか。下記2行を削除してみるとどうでしょうか。
12
+ その場合、download_coupon_click関数は、引数でstore_id, coupon_idを受け取れていると思いますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょうか。下記2行を削除してみるとどうでしょうか。
13
13
 
14
14
  ```html
15
15
  var store_id = $(this).data('store-id');

1

推測したBladeのコードを変更しました。

2021/03/13 00:21

投稿

Lulucom
Lulucom

スコア1904

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  <input
6
6
  type="button"
7
7
  value="クーポンをダウンロード"
8
- onclick="download_coupon_click(this, 'STOREXXX', 'COUPONXXX')"
8
+ onclick="download_coupon_click(this, {{ $store->id }}, {{ $coupon->id }})"
9
9
  >
10
10
  ```
11
11