Pythonスクリプトを使用して、Ajax POSTから受信したデータでPostgreSQLテーブルを埋めようとしています。PythonスクリプトでAjaxのデータを使用する
私のAjaxのコマンドは次のとおりです。
function ajaxFct() {
$.ajax({
async: true,
type: "POST",
url: "/myDir/cgi-bin/send_array.py",
data: my_array,
dataType: "html",
success : function(data) {
document.getElementById("ajaxAnchor").innerHTML = "Exported something to DB table"
}
});
}
my_arrayでは、例えば、複数のラインを持つCSV文字列のようになります。
[ "HEADER1、HEADER2、header3"、「some_value、45.99、テキスト "]
私のpythonスクリプト(send_array.py)でこの配列を使用する方法は分かりません
今のところ、スクリプトはローカルで定義されたいくつかのデータで正常に動作します(cf.二cursor.executeコマンド):
import psycopg2
import psycopg2.extras
import cgitb
def main():
cgitb.enable()
conn_string = "host='...' dbname='...' user='...' password='...' port=..."
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
cursor.execute("DROP TABLE IF EXISTS myDb.myTable; CREATE TABLE myDb.myTable(id serial PRIMARY KEY, header1 varchar, header2 decimal, header3 varchar);")
cursor.execute("INSERT INTO myDb.myTable (header1, header2, header3) VALUES (%s, %s, %s)", ("local_test1",0.12345,"local_test2"))
# Make the changes to the database persistent
conn.commit()
cursor.close()
conn.close()
if __name__ == "__main__":
main()
は、だから私の質問は基本的には次のとおりです。
私は、my_arrayで配列すなわち、AjaxのPOSTから送信されたデータにアクセスする代わりに、SQLクエリで使用する方法ローカルに定義されたデータ?
ご協力ありがとうございます。私はまだまだこれにはまだ新しく、オンラインで回答を見つけるのに苦労しています。
「[ajax投稿要求からの投稿データをpythonファイルで取得する]」(http://stackoverflow.com/questions/27046448/get-post-data-from-ajax-post-request-in-python-ファイル) – hashcode55
投稿していただきありがとうございますが、私はFieldStorage()やフォームに依存しなかった別の解決策を探していました。 rは送信されているデータを保持する方法の私の質問には、私の答えを参照してください。 – sc28