私は複数の入力タグを持っています。私の仕事は、ユーザーが入力した値を収集してサーバーに送り返すことです。私はフレームワークとしてDjangoを使用しています。私はクライアント側(javascript)にデータを送信するのに成功しています。 javascript関数からPython関数にデータを返すために、私はXMLHttpRequestを使いました。 私は以下の私のコードを追加しました:javascriptからpythonサーバーに値を送信しようとしています
<html>
<head>
<style>label{ text-align:center; width:250px; color:blue; display:inline-block}</style>
<script type="text/javascript" src="'+url_read+'"></script>
<script>
function submit_this()
{
var i,j;var arr=[];
for(i=0; i<Hello.length; i++)
{
arr[i]=[];
for(j=0;j<Hello[i].length; j++)
{
arr[i].push(document.getElementById(Hello[i][j]).value);
}
}
alert(document.getElementById(Hello[1][0]).value);
xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.open('POST', '/button_click',true);
xmlHttpReq.send('w=' + encodeURI(arr));
}
</script>
</head>
<body>
<center>
<button id="submit_button" onclick="submit_this();" value="Submit">Submit</button>
</center>
</body>
</html>
上記のコードはhtml_stringと呼ばれる文字列に格納されます。 こんにちは、varible url_readで示されるファイルから読み込まれたjsonオブジェクトです。 Pythonを使用してダンプされました。 HttpResponseを使用してhtml_stringを送信し、htmlページをレンダリングする予定でした。
私は、views.pyのいずれかのクラスで1つのPOST関数を作成する必要があることを理解しています。しかし、どのようにこの問題に近づくのか理解できません。
私は何とかサーバー側にarrという名前のjavascriptデータ構造を送信する必要があります。主な疑問は、javascript関数によって投稿された値をどこで読むことができるのか、私のコードをどこに置くことができるかです。 Djangoでは、各urlに(view.pyの)新しい関数が関連付けられているので、Submitボタンを押すと新しいページに移動します。私はそれを置くべきでしょうか?
コードをフォーマットしてください。あなたのjsには、 – Ravi
のタイプミス。 'xmlHttpReq.open( 'POST'、 '/ button_click'、true);' –
あなたのコードには 'Hello'が入ります。他の場所で宣言されていますか?これがjsなどのキーワードかどうか疑問に思っています...? – Haranadh