Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $\u表单未传递POST变量_Javascript_Php - Fatal编程技术网

Javascript $\u表单未传递POST变量

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

我正在使用PHP在App Engine上托管一个简单的联系人表单,试图将$\u POST变量从表单传递到发送电子邮件的PHP脚本。从日志中可以看出,$\u POST变量似乎无法通过,我很难理解为什么。。。因此,我希望你能用另一双眼睛来看待这件事。。。非常感谢。以下是各种(简化)代码位:

在根目录下的index.html中:

<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