将参数传递给邮件脚本

时间:2013-04-16 18:43:10

标签: python

我想使用以下代码编写来自python的电子邮件:我写/参考

<script>
$(document).ready(function() {

    $("#form1").submit(function(){
        $("#form1").validationEngine();
        if($('div input[type=text]').val() != "")
    {
        var textfield2=document.getElementById("textfield2").value;
        var textarea=document.getElementById("textarea").value;
        var dataS=$("#form1").serialize();
        $.ajax({
            type: "POST",
            crossDomain: 'true',
            url: "mail.py",
            success: function( ){
                alert("completed");
            },
            error: function(){
                alert(dataS);
            }

        });
    }
    return false;  

    }); 

});
</script>

对于邮件部分,我提到了以下谷歌代码

from google.appengine.api import mail

mail.send_mail(sender="Example.com Support <support@example.com>",
              to="Albert Johnson <Albert.Johnson@example.com>",
              subject="Your account has been approved",
              body="""
Dear Albert:

Your example.com account has been approved.  You can now visit
http://www.example.com/ and sign in using your Google Account to
access new features.

Please let us know if you have any questions.

The example.com Team
""")

现在的问题是,在ajax调用上..我怎样才能收到mail.py脚本中的HTML参数?请帮忙我是python的新手

1 个答案:

答案 0 :(得分:0)

在cgi脚本中,如果实例化cgi.FieldStorage(),它将自动填充GET或POST参数。如果您想发布内容,只需在您的ajax请求对象中添加data属性:

$.ajax({
    ...
    data: {param1: 'value1', param1: 'value2', ...}
    ...
})

在你的python脚本中应该足够了:

import cgi
store = cgi.FieldStorage()
par1 = store.getfirst('param1')
...

还有一件事 -
问问自己:你真的想在页面加载时提交表单吗? (你正在使用'准备'事件)。等到有人在表格中输入某些东西不是更好吗?