我有一个简单的php电子邮件表单,其中表单经过验证并通过ajax调用提交给email.php。它在我自己的服务器上工作正常,但在Amazon S3上我收到错误:MethodNotAllowedThe specified method is not allowed against this resource.OBJECTPOST2871412DE...
,然后是一连串的数字和字母。
我的php文件如下
<?php
$to = "person@domain.com";
$subject = "Message from ".$_POST['my_name'];
$person = $_POST['my_name'];
$email = $_POST['my_email'];
$comments = $_POST['my_comments'];
$headers = "From: ".$email."\r\n" .
"Reply-To: ".$email. "\r\n";
$message = "Entry from: ".$person." (".$email.")\n\n Comments: ".$comments;
$result = mail($to, $subject, $message, $headers);
?>
这是ajax调用(绝对php url审查):
$(document).ready(function(){
$("#emailSubmitBtn").click(function(){
if ( $("#contactForm").valid() ) {
var myName = $('#my_name').val();
var myEmail = $('#my_email').val();
var myComments = $('#my_comments').val();
var dataString = 'my_name='+ myName + '&my_email=' + myEmail + '&my_comments=' + myComments;
$.ajax({
type: "POST",
url: "http://####.s3.amazonaws.com/email.php",
data: dataString,
success: function() {
$('#contact').html("<div id='message'></div>");
$('#message').html("<p>Thank you for submitting the form!</p>")
.hide()
.fadeIn(1500);
}
});
return false;
}
});
});
答案 0 :(得分:4)
Amazon S3无法执行PHP文件,因此您尝试执行的操作无法正常工作。
您可以将文件发布到S3存储桶(而不是特定的文件URL,因此允许的方法错误),但您无法在那里运行代码。这是简单 存储 服务。