送信後のフォーム投稿では新しいページにリダイレクトされるため、ajaxを使用した投稿を使用してフォームデータを送信したい。
<form id="myContactForm">
<p>
<label for="byour_name">Your name</label><input type="text" name="byour_name" value="" id="byour_name">
</p>
<p>
<label for="byour_email_address">Your email address</label><input type="text" name="byour_email_address" value="" id="byour_email_address">
</p>
<p>
What's on your mind?<br>
<textarea name="Message" rows="10" cols="25"></textarea>
</p>
<p>
<input type="submit" value="Send it!" onClick="sendMail()">
</p>
</form>
function sendMail() {
$.ajax( {
url: "/email",
type: "POST",
data: $("#myContactForm").serialize(),
success: function( response) {
alert(response);
},
error: function() {
alert('failure');
}
});
}
リクエストを行うたびにエラー関数が実行されています.Googleアプリエンジンでアプリを書いています。このエラーが発生し続けます:
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
私の投稿リクエストハンドラーは次のとおりです。
def post(self):
Content = self.request.get("Message")
byName = self.request.get("byour_name")
byEmailAddress = self.request.get("byour_email_address")
gmailUser = 'id@gmail.com'
gmailPassword = 'password'
dataSend = byName
mail.send_mail(sender = gmailUser,
to = gmailUser,
subject ="Email Sent By : "+ byName + "@" + byEmailAddress,
body = Content)
self.response.out.write(byEmailAddress)
送信ボタンをクリックすると、URl は次のように変わります。
http://localhost:8080/?byour_name=username&byour_email_address=userEmail@gmail.com%40gmail.com&Message=mlm%0D%0A#contact
私はgetリクエストを作成しているので、誰かが私を助けることができます..しかし、投稿リクエストがgetリクエストにどのように変化するか.