Javascript $\u表单未传递POST变量
我正在使用PHP在App Engine上托管一个简单的联系人表单,试图将$\u POST变量从表单传递到发送电子邮件的PHP脚本。从日志中可以看出,$\u POST变量似乎无法通过,我很难理解为什么。。。因此,我希望你能用另一双眼睛来看待这件事。。。非常感谢。以下是各种(简化)代码位: 在根目录下的index.html中:Javascript $\u表单未传递POST变量,javascript,php,Javascript,Php,我正在使用PHP在App Engine上托管一个简单的联系人表单,试图将$\u POST变量从表单传递到发送电子邮件的PHP脚本。从日志中可以看出,$\u POST变量似乎无法通过,我很难理解为什么。。。因此,我希望你能用另一双眼睛来看待这件事。。。非常感谢。以下是各种(简化)代码位: 在根目录下的index.html中: <form method="post" action="#" id="contactform"> <div> <label for="email
<form method="post" action="#" id="contactform">
<div>
<label for="email">Enter your email</label>
<input type="text" class="input-field" id="email" name="email" value="">
</div>
<a id="button-send" href="#" title="Send Email" class="button" style="width:100%;">Send E-Mail</a>
<div id="success">Your message has been sent successfully!</div>
<div id="error">Unable to send your message, please try later.</div>
</form>
<?php
$send_email_to = "test@test.com";
$email_subject = "Email subject line";
function send_email($email,$email_message)
{
// using AppEngine's mail function here
}
function validate($email,$message)
{
// a simple validation function
}
if(isset($_POST['email'])) {
$email = $_POST['email']; // this doesn't seem to work
}
else
{$email = "email@email.com";} // did this to confirm the $_POST didn't seem to be passed
$return_array = validate($email,$message);
if($return_array['success'] == '1')
{
send_email(,$email,$message);
}
header('Content-type: text/json');
echo json_encode($return_array);
die();
?>
如果这与App Engine有关,我的App.yaml如下所示:
- url: /js
static_dir: js
- url: /send_form_email.php*
script: send_form_email.php
- url: .*
script: index.html
再次非常感谢–我也在我的谷歌硬盘上输入了完整的代码:您正在尝试序列化
#contact_form
,但是您有id=“contactform”
JSON的MIME类型是
application/JSON
,而不是text/JSON
,action=“#”
看起来有点可疑。尝试将其更改为其他内容。@SverriM.Olsen OP是通过ajax调用发布的,因此表单上的操作无关紧要,问题是在他的ajax调用期间发生的。$(“contact_form”).serialize()应为$(“contactform”).serialize();啊,是的,成功了,谢谢。尽管电子邮件已正确发送,但我的Javascript消息没有因此更新,但标题中还有一个错误:“PHP警告:无法修改标题信息-标题已发送”。
- url: /js
static_dir: js
- url: /send_form_email.php*
script: send_form_email.php
- url: .*
script: index.html