質問編集履歴
2
ソースコード: showCart() に request.setValue部分を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,6 +64,10 @@
|
|
64
64
|
|
65
65
|
let request = URLRequest(url: URL(string: "https://example/cart.json")!)
|
66
66
|
|
67
|
+
//20210913追加
|
68
|
+
|
69
|
+
request.setValue("_session_id=XXXXX", forHTTPHeaderField: "Cookie")
|
70
|
+
|
67
71
|
URLSession.shared.dataTask(with: request) { (data, response, error) in
|
68
72
|
|
69
73
|
if error == nil, let response = response as? HTTPURLResponse, let data = data {
|
1
Cookieの確認結果を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,6 +94,14 @@
|
|
94
94
|
|
95
95
|
同じコードをChrome拡張機能(ajax)で実装:問題なくカートの中身が取得できます。
|
96
96
|
|
97
|
+
(2021/09/13追記)
|
98
|
+
|
99
|
+
一連の流れをブラウザで確認したところ、カートに入れたときの応答ヘッダーのContent-Typeはtext/javascriptで、Set-CookieにsessionIdが含まれていました。その後、カート内容表示する際にsessionIdを渡していました。
|
100
|
+
|
101
|
+
当プログラムのカート内容表示処理(showCart())で、sessionIdを設定したところ正常にカート内容が表示されました。
|
102
|
+
|
103
|
+
ただ、当プログラムのカートに入れる処理(cartin())で返ってくるContent-Typeはtext/htmlで、そのhtmlを確認するとDOMContentLoadedでsessionIdを作成しているようでした。WKWebView等で実装しないとダメなのかもしれないです。。。
|
104
|
+
|
97
105
|
|
98
106
|
|
99
107
|
### 補足情報(FW/ツールのバージョンなど)
|