HTML-запрос на python?

#javascript #python #php #html

Вопрос:

Привет, я пытаюсь написать cgi-скрипт на python, который получает значения из полей ввода html и печатает соответственно. Я пытался использовать chmod, чтобы сделать python выполнимым, но почему-то это не работает, и я получаю внутреннюю ошибку сервера при запросе x.send. Это должно быть сделано таким образом, чтобы не искать альтернатив. Мой код выглядит так.
HTML:

 lt;h1gt;Loginlt;/h1gt;   lt;labelgt;Usernamelt;/labelgt;  lt;input type="text" id="lg_user" name="lg_uid"gt;  lt;labelgt;Passwordlt;/labelgt;  lt;input type="password" id="lg_pwd" name="lg_pass"gt;  lt;br/gt;  lt;button type="submit" id="login_btn" onclick="loggingin()"gt;Loginlt;/buttongt;  lt;div id="lg_test"gt;Loginlt;/divgt;  

язык JavaScript:

 function loggingin(){  var u=document.getElementById("lg_uid");  var p=document.getElementById("lg_pass");  try{  x=new XMLHttpRequest();  x.addEventListener("readystatechange", stateChange, false);  x.open("POST","../cgi-bin/checkpass.py",true);  x.send("lg_uid=" u "amp;lg_pass=" p);  }  catch(exception){  alert("Request failed");  }  }  function stateChange(){  if (x.readyState==4 amp;amp; x.status==200)  {  sessionStorage.logstats  if(sessionStorage.logstats==null || sessionStorage.logstats=="loggedOut")  {  sessionStorage.logstats="loggedIn";  checkState();  //showPage("home_section");  //location.reload();  }  else if(sessionStorage.logstats=="loggedIn"){  sessionStorage.logstats="loggedOut";  checkState();  //showPage("home_section");  //location.reload();  }  document.getElementById("lg_test"),innerHTML=x.responseText;    }  }  

Питон:

 #!/usr/bin/python import cgi import cgitb import csv  form = cgi.FieldStorage() username = form.getvalue("lg_uid") password = form.getvalue("lg_pass")  found=0  with open('users.csv') as csvfile:  spamreader = csv.reader(csvfile, delimiter=',')  for row in spamreader:  if row[0] == username or password ==row[1]:  found=1  print ("Content-Type: text/htmlnn") if found == 1:  print ("lt;pgt;Your Password Matcheslt;/pgt;") if username == "":  print("lt;pgt;No usename providedlt;/pgt;") else:  print ("lt;pgt;Wrong Usename or Passwordlt;/pgt;")  

Комментарии:

1. Работает ли он с более простым cgi-скриптом, например, который возвращает только статический HTML без какой-либо логики? Какой веб-сервер вы используете? Есть ли какие-либо журналы ошибок?

2. статический HTML также не работает. Не уверен насчет сервера. Журнал ошибок содержит 500 внутренних ошибок сервера в строке x.send() JavaScript

3. если это поможет, когда я изменю расширение на .py с .cgi, весь скрипт python будет возвращен в виде текста ответа

4. @Argha — Нам нужна более подробная информация о вашем сервере и конфигурации вашего сервера. Похоже, это проблема с сервером, а не с HTML или Python

5. Да, я думаю, что вы правы, но я не посвящен в детали сервера, но спасибо, зная, что это проблема на стороне сервера, это очень помогает