Ich habe ein CGI-Python-Skript, das eine E-Mail an das Konto in einer AJAX-Anfrage (aus einem Formular) gesendet gesendet.AJAX verknüpfte CGI-Python-Skript abgeschlossen, aber immer noch Fehler
def getEmail():
parameter = cgi.FieldStorage()
a = parameter.getvalue('email')
sent_from = gmail_user
SUBJECT = "Thanks"
TEXT = "Hey"
message = 'Subject: {}\n\n{}'.format(SUBJECT, TEXT)
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.ehlo()
server.login(gmail_user, gmail_password)
server.sendmail(sent_from, a, message)
server.close()
if __name__ == "__main__":
getEmail()
von empfangen:
<script type = "text/javascript">
$(function()
{
$('#regbut').click(function(){
alert('Im going to start processing');
$.ajax({
url: "/cgi-bin/register.py",
type: "post",
data: $("#frm").serialize(),
success: function(data){
alert("Well done boyo");
},
error: function (response) {
console.log(response);
}
});
});
});
</script>
Dieses Skript tatsächlich funktioniert. Es sendet die E-Mail an den angegebenen Ort. Der AJAX akzeptiert dies jedoch nie als erfolgreich - der Alarm geht nie aus. Tatsächlich habe ich eine Warnung in den Fehlerbereich eingegeben und stattdessen aktiviert. Console.log (Antwort) erzeugt diesen Fehler:
Object { readyState: 0, getResponseHeader: .ajax/y.getResponseHeader(), getAllResponseHeaders: .ajax/y.getAllResponseHeaders(), setRequestHeader: .ajax/y.setRequestHeader(), overrideMimeType: .ajax/y.overrideMimeType(), statusCode: .ajax/y.statusCode(), abort: .ajax/y.abort(), state: .Deferred/e.state(), always: .Deferred/e.always(), catch: .Deferred/e.catch(), 8 more… }
Aber ich kann nicht herausfinden, was das bedeutet. Jede Hilfe würde sehr geschätzt werden.
(Das ist alles auf einem Apache-Server über localhost läuft, wenn diese Fragen)