का कारण बनता है जब मैं अपनी CGI फ़ाइल में डेटा पोस्ट करने का प्रयास करता हूं, तो मेरी CGI फ़ाइल का कहना है कि वास्तविक पोस्ट डेटा अमान्य है। मैं बैकएंड के लिए फ्रंट एंड और पायथन के लिए एचटीएमएल/जावास्क्रिप्ट का उपयोग कर रहा हूं।XMLHttpRequest का उपयोग कर CGI फ़ाइल में POST डेटा BadHeader
काम करता है:
<form name="login" action="/cgi-bin/register.py" method="POST">
Username:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
Confirm password:<input type="password" name="confirmpassword"><br>
</form>
हालांकि, इस पृष्ठ ताज़ा करने के लिए कारण बनता है। मैं इससे बचने की कोशिश कर रहा हूं और उसी पृष्ठ के भीतर टेक्स्ट डिस्प्ले (बिना रीलोडिंग के)। इसलिए, मैंने इस घटना को संक्रमित रूप से संसाधित करने के लिए XMLHTTPRequest का उपयोग करना चुना है।
<script>
function validateLogin()
{
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username.length <= 0 || password.length <= 0)
{
document.alert("The username or password cannot be blank");
return;
}
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("resultText").innerHTML=xmlhttp.responseText;
}else if (xmlhttp.readyState==4) {
document.write(xmlhttp.status + xmlhttp.statusText);
}
}
xmlhttp.open("POST","/cgi-bin/login.cgi",true);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8')
xmlhttp.send("username=" + username + "&password=" + password);
}
</script>
सीजीआई फ़ाइल::
यह मैं क्या हासिल करना चाहते है
#!/usr/bin/python
import cgi
from dbmanager import openConnection
from passlib.hash import sha256_crypt
s = "Content-type: text/html\n\n\n"
form = cgi.FieldStorage()
username = form["username"].value
password = form["password"].value
message = None
मैं बताते हुए अजगर में कोई त्रुटि हो रही है Bad header=FieldStorage(None, None,
मैं इस त्रुटि जब नहीं मिलता मैं इसे पहला तरीका करता हूं, लेकिन दूसरा तरीका मुझे यह त्रुटि दे रहा है। I को की आवश्यकता है ताकि यह दूसरी तरफ काम करे।