[英]posting input data from html to python script with ajax
我想用AJAX將用戶在html文件中輸入的數據發布到Python腳本中,並讓Python腳本返回它,以便它顯示在html文件中的特定div中。
的HTML
<!DOCTYPE HTML>
<html>
<head>
<title>AJAX Test</title>
<script src="http://code.jquery.com/jquery-3.3.1.js"></script>
<script>
function test()
{
var message = $('input[name=message]').val();
$.ajax({
url: "/cgi-bin/hello.py",
type: "POST",
data: {"text" : message},
success: function(response){
$("#div").html(response);
}
});
};
</script>
</head>
<body>
<form>
Enter Message: <input type="text" name="message">
<input type="submit" value="submit" onclick="test()">
</form>
<div id="div">Default Message</div>
</body>
</html>
蟒蛇
#!/home/user/virtualenv/test/3.5/bin/python
import cgi, cgitb
cgitb.enable()
data = cgi.FieldStorage()
print "Content-Type: text/html\n"
print data
當我在輸入框中鍵入消息並按提交按鈕時,什么也沒有發生。 我對此並不陌生,所以我感覺我可能不了解其工作原理。 任何幫助,將不勝感激!
編輯:控制台顯示Uncaught TypeError: $.ajax is not a function
編輯2:第一個問題是由於使用了精簡版的jquery。 解決此問題后,當我輸入並單擊提交時,頁面上沒有任何反應。
問題是我單擊按鈕時正在提交表單。 解決方案是將輸入類型更改為<button value="Submit" onclick="test()">
。
下一個問題是python返回的是FieldStorage(None, None, [MiniFieldStorage('text', 'blahblah')])
。 解決方案是使用print (data["text"].value)
訪問該值print (data["text"].value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.