簡體   English   中英

使用ajax將輸入數據從html發布到python腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM