質問編集履歴
2
問題点の書き直し
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
pythonの標準ライブラリhttp.serverを使ってローカルでサーバーを作り、データの通信実験をしてみました。
|
3
|
-
しかし、cgiは「CGI script exited OK」と出るのに、POST通信ではブラウザには何も返って来ていないことになっていて困惑しています。
|
3
|
+
~~しかし、cgiは「CGI script exited OK」と出るのに、POST通信ではブラウザには何も返って来ていないことになっていて困惑しています。~~
|
4
|
+
これはコードのミスでした(javascriptで受け取るコードを実行していなかった)のですが、結局受信した結果で例外が発生し、その例外の内容もundefinedになってしまい原因がわかりません。
|
4
5
|
サーバーに対する知識は全くないので、ネットのありとあらゆる場所からコードを引っ張って作ったコードですが、問題点を教えてください。
|
5
6
|
|
6
7
|
### 発生している問題・エラーメッセージ
|
@@ -62,9 +63,10 @@
|
|
62
63
|
|
63
64
|
if os.environ['REQUEST_METHOD'] == 'POST':
|
64
65
|
form = cgi.FieldStorage()
|
66
|
+
result_json = {'key': 'value'}
|
65
67
|
print("Content-Type: application/json; charset=utf-8\r\n")
|
66
68
|
print('\n')
|
67
|
-
print(
|
69
|
+
print(json.dumps(result_json))
|
68
70
|
else:
|
69
71
|
print("Content-Type: text/html; charset=utf-8\r\n")
|
70
72
|
print('\n')
|
@@ -103,7 +105,7 @@
|
|
103
105
|
xhr.open("POST", 'http://localhost:8000/cgi-bin/server.py', true);
|
104
106
|
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
|
105
107
|
xhr.send(json);
|
106
|
-
|
108
|
+
ajaxGet();
|
107
109
|
}
|
108
110
|
|
109
111
|
ajaxGet = function () {
|
@@ -111,8 +113,7 @@
|
|
111
113
|
try{
|
112
114
|
if (httpRequest.readyState === XMLHttpRequest.DONE) {
|
113
115
|
if (httpRequest.status === 200) {
|
114
|
-
console.log("返ってきたよ")
|
115
|
-
|
116
|
+
console.log(req.responseText)
|
116
117
|
alert(req.responseText);
|
117
118
|
}else {
|
118
119
|
alert('リクエストに問題が発生しました');
|
@@ -124,23 +125,6 @@
|
|
124
125
|
}
|
125
126
|
}
|
126
127
|
|
127
|
-
|
128
|
-
//独自関数
|
129
|
-
createTable = function (rows, cells, tableID) {
|
130
|
-
"use strict";
|
131
|
-
var table = document.createElement("table");
|
132
|
-
table.id = tableID;
|
133
|
-
for (var i = 0; i < rows; i++) {
|
134
|
-
var row = table.insertRow(-1);
|
135
|
-
for (var j = 0; j < cells; j++) {
|
136
|
-
var cell = row.insertCell(-1);
|
137
|
-
var data = document.createTextNode("");
|
138
|
-
cell.appendChild(data);
|
139
|
-
}
|
140
|
-
};
|
141
|
-
document.getElementById("dispArea").appendChild(table);
|
142
|
-
}
|
143
|
-
|
144
128
|
json = {
|
145
129
|
"messages":
|
146
130
|
[
|
1
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
pythonの標準ライブラリhttp.serverを使ってローカルでサーバーを作り、データの通信実験をしてみました。
|
3
|
-
しかし、cgiは「CGI script exited OK」と出るのに、ブラウザには何も返って来ていないことになっていて困惑しています。
|
3
|
+
しかし、cgiは「CGI script exited OK」と出るのに、POST通信ではブラウザには何も返って来ていないことになっていて困惑しています。
|
4
4
|
サーバーに対する知識は全くないので、ネットのありとあらゆる場所からコードを引っ張って作ったコードですが、問題点を教えてください。
|
5
5
|
|
6
6
|
### 発生している問題・エラーメッセージ
|
7
|
-
cgiは動作するのに値がブラウザで確認できない。(確認として、POST通信ではない状態で、アクセスしたらhtmlを返すコードを追加しましたところ、「Content-Type:」だけが表示されました。)
|
7
|
+
cgiは動作するのに値がブラウザで確認できない。(確認として、POST通信ではない状態で、アクセスしたらhtmlを返すコードを追加しましたところ、~~「Content-Type:」だけが表示されました。~~※単純なhtmlのミスでした。スイマセン。修正しました)
|
8
8
|
|
9
9
|
|
10
10
|
### 該当のソースコード
|
@@ -28,8 +28,7 @@
|
|
28
28
|
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
|
29
29
|
|
30
30
|
|
31
|
-
html = '''
|
31
|
+
html = '''
|
32
|
-
|
33
32
|
<!DOCTYPE html>
|
34
33
|
<html lang="ja">
|
35
34
|
<head>
|