回答編集履歴
7
Laravelドキュメントのルートパラメータの項へのリンクを追記しました。
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呼出し箇所のコードが掲載されましたので、推測したコードを削除しました。
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
文章の軽微な改善です。
answer
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
$.ajax関数へ渡す引数は、
|
20
20
|
urlの値はシングルクォートではなくバッククォートで囲む必要があります。シングルクォートだと`${store_id}`等の部分が展開されないはずです。あるいは以下のように`+`で連結しましょう。
|
21
|
-
urlの中にそれらの値が正しく展開されれば、dataで値を渡す必要も
|
21
|
+
urlの中にそれらの値が正しく展開されれば、data: $.param({ ... }) で値を渡す必要もありません。urlに含まれるそれらの値を、addToCastアクションの引数で受け取れるはずです。
|
22
22
|
|
23
23
|
```js
|
24
24
|
$.ajax({
|
4
$.ajax関数へ渡す引数について追記しました。
answer
CHANGED
@@ -11,7 +11,18 @@
|
|
11
11
|
|
12
12
|
その場合、download_coupon_click関数は、引数でstore_id, coupon_idを受け取れていると思いますが、それらの値を下記2行で上書きしてしまっているのが原因ではないでしょうか。下記2行を削除してみるとどうでしょうか。
|
13
13
|
|
14
|
-
```
|
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名を削除しました(勘違いでした)。
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Bladeのコードが掲載されていないので推測になりますが
|
2
2
|
download_coupon_click関数は、例えば以下のような感じで呼ばれるということでしょうか?
|
3
3
|
|
4
4
|
```html
|
2
文章の軽微な改善です。
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
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関数
|
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のコードを変更しました。
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<input
|
6
6
|
type="button"
|
7
7
|
value="クーポンをダウンロード"
|
8
|
-
onclick="download_coupon_click(this,
|
8
|
+
onclick="download_coupon_click(this, {{ $store->id }}, {{ $coupon->id }})"
|
9
9
|
>
|
10
10
|
```
|
11
11
|
|