Учусь по методичке с ВУЗа осваивать python.
Написал небольшое клиент-серверное приложение (клиент-серверное это преувеличено)
В роли клиента у меня выступает html страница. А в качестве серверного приложения python файл.
Установил себе WAMp (windows apache mysql php). Настроил httpd.conf что бы поддерживал файлы .py .
Проверил Hello word.py - работает. Многие программы запускал - работают. А эта чего то выеживается и выдает 500 ошибку. Пути все указаны верно (и в конфиге и к файлу python.exe)
Вроде все правильно указал (на мое мнение). Может кто-то из мудрецов тыкнет меня в ошибку. Ну или поможет строчку как-то исправить ..)
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>test</title> <script src="jquery.min.js"></script> <script> $(function() { $('#clickme').click(function(){ var name = prompt("Write your name!"); current = this; $.ajax({ url: "http://localhost/1/lb5.py", type: "post", datatype:"application/json", data: JSON.stringify({'key':'1','ФИО':name}), success: function(response){ var testOne = response.test1; var testTwo = response.test2; var testThree = response.test3; var answerO = "<br><input type='text' size='20' id='an1'>"; var answerT = "<br><input type='text' size='20' id='an2'>"; var answerTh = "<br><input type='text' size='20' id='an3'>"; var butt = "<br><button id='chek'>проверить</button>"; $("#testOne").html(testOne+answerO); $("#testTwo").html(testTwo+answerT); $("#testThree").html(testThree+answerTh); $("#buttonST").hide(); $("#buttonP").html(butt); } }); console.log(testOne); console.log(testTwo); console.log(testThree); $("#buttonP").on( "click", function() { var an1 = $("#an1").val(); var an2 = $("#an2").val(); var an3 = $("#an3").val(); console.log(an1); console.log(an2); console.log(an3); $.ajax({ url: "http://localhost/1/lb5.py", type: "post", datatype:"application/json", data: JSON.stringify({'key':'2','an1':an1,'an2':an2,'an3':an3}), success: function(response){ alert ("error"); var user = "<p><b>User:</b> "+name+"<br>"; var rez = "<b>Rezult:</b> ["+response.rez+"]</p>"; $("#testOne").html(user+rez); $("#testTwo").html(""); $("#testThree").html(""); $("#buttonP").html(""); $("#buttonST").show(); } }); }); }); }); </script> </head> <body> <div id="placeHolder"> <div id="testOne"></div> <div id="testTwo"></div> <div id="testThree"></div> <div id="buttonP"></div> <div id="buttonST"> <button id="clickme"> Старт</button> </div> </div> </body> </html>
#!C:/Python34/python.exe import cgi import sys import json myjson = json.load(sys.stdin) sys.stdout.write("Content-Type: application/json") sys.stdout.write("\n") sys.stdout.write("\n") keyNum = int(myjson['key']) if keyNum == 1: f = open("rezult.txt",'a+') nameLs = [] nameLs.append(myjson['name']) f.writelines(nameLs) f.close() test = {} test['test1'] = "<p><h2>Вопрос №1</h2></p><p>Произвольное количество именованных аргументов в python обозначается:</p><p>1. **. 2. *. 3. ... .</p>" test['test2'] = "<p><h2>Вопрос №2</h2></p><p>Передавать в функцию параметр можно:</p><p>1. Только по ссылке. 2. Только по значению. 3. По ссылке и по значению</p>" test['test3'] = "<p><h2>Вопрос №3</h2></p><p>Самая медленная сортировка:?</p><p>1. Пузырьковая. 2. Двоичная. 3. Быстрая</p>" sys.stdout.write(json.dumps(test)) sys.stdout.write("\n") sys.stdout.close() if keyNum == 2: colbal = 0 if int(myjson['an1']) == 1: colbal = colbal + 1 if int(myjson['an2']) == 3: colbal = colbal + 1 if int(myjson['an3']) == 1: colbal = colbal + 1 rezult = {} rezult['rez'] = colbal sys.stdout.write(json.dumps(rezult)) sys.stdout.write("\n") sys.stdout.close() f = open("rezult.txt",'a+') nameLs2 = [] strSS2 = " -> Rezult:"+str(colbal)+"\n" nameLs2.append(strSS2) f.writelines(nameLs2) f.close() del nameLs2 else: nameLs = [] strSS = "\n" nameLs.append(strSS) f.writelines(nameLs) f.close() sys.stdout.write("\n") sys.stdout.close()