回答編集履歴

1

追記, 2020.10.27

2020/10/27 06:06

投稿

takyafumin
takyafumin

スコア2335

test CHANGED
@@ -5,3 +5,77 @@
5
5
 
6
6
 
7
7
  javascriptのエラーも確認してみてください。
8
+
9
+
10
+
11
+
12
+
13
+ 追記, 2020.10.27
14
+
15
+ ---
16
+
17
+
18
+
19
+ > jsのXMLHttpRequest.responseURLを参照がわからなかったため、
20
+
21
+
22
+
23
+ 具体例をあげたほうがよかったですね。
24
+
25
+ XMLHttpRequestインスタンスから参照できます。
26
+
27
+
28
+
29
+ 提示のソースですと、以下のようにresponseURLが参照できます。(locationへ代入)
30
+
31
+ locationのURLがログイン画面のURLであれば、リダイレクトが発生したと判断してもいいかと思います。
32
+
33
+ - https://developer.mozilla.org/ja/docs/Web/API/XMLHttpRequest/responseURL
34
+
35
+
36
+
37
+ ```javascript
38
+
39
+ <script>
40
+
41
+ function api_like() {
42
+
43
+ var api_url = "{% url 'register:api_like' user.pk %}";
44
+
45
+ var btn_txt = document.getElementById("like");
46
+
47
+ var request = new XMLHttpRequest();
48
+
49
+ request.onreadystatechange = function () {
50
+
51
+ if (request.readyState === 4 && request.status === 200) {
52
+
53
+
54
+
55
+ // ----- add start -----
56
+
57
+ let location = request.responseURL;
58
+
59
+ console.log(location);
60
+
61
+ // ----- add end -----
62
+
63
+
64
+
65
+ var received_data = JSON.parse(request.responseText);
66
+
67
+ btn_txt.innerText = received_data.like;
68
+
69
+ }
70
+
71
+ }
72
+
73
+ request.open("GET",api_url);
74
+
75
+ request.send();
76
+
77
+ }
78
+
79
+ </script>
80
+
81
+ ```