#実現したいこと
当方プログラミングを初めて3ヶ月程度です。
自身の勉強をかねて、診断をするようなWebアプリを作っており、下記を実現したいと思っています。
① Webページ上でのイベント(ボタンのクリックなど)をトリガーとしてMySQLのテーブルにクエリを送信したい
② jsでトリガーとしたイベントごとにAjaxを利用して、クエリ送信用のpythonファイルへPOSTしたい
①を目的として、②で実現したいと考えているのですが、②の実装で詰まっている状態です。
お力添えいただけますと幸いです。
#現状
下記などを参考にAjaxの概要を把握した上で、サンプルを実装したいと思っています。
(参考ページ)
https://qiita.com/qiiChan/items/046a2f53cf4d93a6a398
ただお恥ずかしながら上記のページで書いているソースコード(下記に転記しています)をどのように実行していいのか、
他に何か必要なファイル(htmlなど)があるのか、がわかっていない状態です。
(Ajaxの利用方法というのとはまた違った問題かもしれませんが・・・)
#ソースコード
javascript
1let samplePost = function(){ 2 3 //レスポンス 4 var response = {}; 5 6 //リクエスト 7 let request = {para_1 : 12, 8 para_2 : "aaaa", 9 para_3 : encodeURI("日本語送信")}; 10 11 //ajax 12 $.ajax({ 13 type : "POST", 14 url : url, 15 data : JSON.stringify(request), //object -> json 16 async : false, //true:非同期(デフォルト), false:同期 17 dataType : "json", 18 success : function(data) { 19 //data = JSON.parse(data); //error 20 response = data; 21 }, 22 error : function(XMLHttpRequest, textStatus, errorThrown) { 23 console.log("リクエスト時になんらかのエラーが発生しました\n" + url + "\n" + textStatus +":\n" + errorThrown); 24 } 25 }); 26 27 //表示 28 console.log(response); 29}
python
1#!/usr/bin/python 2# -*- coding: utf-8 -*- 3 4 5####################################################### 6# 7# import 8# 9####################################################### 10 11import cgitb 12import cgi 13import os 14import json 15import sys 16import io 17import urllib.parse #url encode/decode 18 19 20####################################################### 21# 22# main 23# 24####################################################### 25def main(): 26 27 #文字化け対策 28 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 29 30 #エラーの内容をブラウザに送信 31 cgitb.enable() 32 33 #値取得 34 data = sys.stdin.read() 35 params = json.loads(data) 36 37 # 38 para_1 = params["para_1"] 39 para_2 = params["para_2"] 40 para_3 = params["para_3"] #url encoded 41 42 #url decode 43 para_3 = urllib.parse.unquote(para_3) 44 45 46 ####################################################### 47 # 48 # 処理 49 # 50 ####################################################### 51 52 #処理 53 54 #レスポンス 55 response = {"res" : "aaaa"} 56 57 58 ####################################################### 59 # 60 # response 61 # 62 ####################################################### 63 64 #print("Content-type: application/json") #error 65 print('Content-type: text/html\nAccess-Control-Allow-Origin: *\n') 66 print("\n\n") 67 print(json.JSONEncoder().encode(response)) 68 print('\n') 69 70 71################################################ 72# 73# main実行 74# 75################################################ 76if __name__ == '__main__': 77 main()
初学者故に抽象的な質問になってしまいすみません。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー