フォームが JQuery リクエストによって送信されたら、Python スクリプト内でいくつかのフォーム フィールドを取得しようとしています。私が使用しているコードは次のとおりです。
スニペット。
<title>Line Chart</title>
<script>
function clickme() {
drawgraph();
}
</script>
<script>
ajaxResponse = ".";
</script>
<script src="Chart.js"></script>
<script src="jquery.js"></script>
<script>
function drawgraph() {
function handleResponse(response) {
ajaxResponse = response;
}
draw(handleResponse);
};
function draw(handleResponse) {
$.ajax({
url: "/currentcost.py",
data: $("form[name='frm']").serialize(),
success: function(response){
handleResponse(response);
}
});
}
</script>
<script>
function alertbox() {
alert(ajaxResponse);
}
</script>
<script>
frm という私のフォームには、dt と tm という 2 つの選択ボックスがあります。
呼び出される Python スクリプトは次のとおりです。
import MySQLdb
import cgi, cgitb
import os
fmeError: global name 'environ' is not defined
from cgi import parse_qs, escape
def index(req):
# Returns a dictionary containing lists as values.
d = parse_qs(os.environ['QUERY_STRING'])
# In this idiom you must issue a list containing a default value.
dtbox = d.get('dt', [''])[0]
tmbox = d.get('tm', [''])[0]
dtbox
変数には dt と tm の 2 つのフォーム ボックスの内容が含まれていることを期待していますtmbox
が、実際には次のように設定されています。None
JavaScript に次の行を追加すると:Type: "POST"
Python スクリプトが異常終了し、「501 (メソッドが実装されていません)」というエラーが返されます。
夢のように機能する 2 つの select ステートメントでコメント タグを入れ替えるかのように、これらの変数が返される場合、スクリプトが機能することはわかっています。
どこが間違っているのか誰か教えてください。