Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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 API不会从ajax调用中获取任何post数据_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript API不会从ajax调用中获取任何post数据

Javascript API不会从ajax调用中获取任何post数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试用ajax post调用发送数据。但这并没有发送任何数据 我的html表单是 <form> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <label for="firstname">Firstname</label> <input id="firstname" ty

我正在尝试用ajax post调用发送数据。但这并没有发送任何数据

我的html表单是

<form>
  <div class="row">
    <div class="col-sm-6">
      <div class="form-group">
        <label  for="firstname">Firstname</label>
        <input id="firstname" type="text" class="form-control" id="firstname">
      </div>
    </div>
    <div class="col-sm-6">
      <div class="form-group">
        <label  for="lastname">Lastname</label>
        <input id="lastname" type="text" class="form-control" id="lastname">
      </div>
    </div>
    <div class="col-sm-6">
      <div class="form-group">
        <label  for="email">Email</label>
        <input id="email" type="text" class="form-control" id="email">
      </div>
    </div>
    <div class="col-sm-6">
      <div class="form-group">
        <label for="subject">Subject</label>
        <input id="subject" type="text" class="form-control" id="subject">
      </div>
    </div>
    <div class="col-sm-12">
      <div class="form-group">
        <label for="message">Message</label>
        <textarea id="message" class="form-control"></textarea>
      </div>
    </div>

    <div class="col-sm-12 text-center">
      <a type="submit" class="btn btn-template-main" onclick="sendMail()"><i class="fa fa-envelope-o"></i> Send message</a><span id="sentMessage" style="color:green"></span>

    </div>
  </div>
  <!-- /.row -->
</form>

这不会打印任何内容。我认为ajax调用中存在问题。请提供帮助。

如果序列化关联数组,您应该在php中使用
json\u encode
。通常我会发回一个对象,不过在这种情况下,如果您只是发送一个字符串,则不需要对值进行编码

if(isset($_POST['email'])){
  echo json_encode($_POST['email']);
}

您的PHP需要JSON,因此您可能希望传递字符串化JSON

本例将首先解码JSON,然后可以使用isset


使用此示例重构代码:

当您使用
$发送数据时。ajax
,它不是以JSON格式发送的,而是以
application/x-www-form-urlencode
格式发送的。因此,无需调用
json\u decode()
。只需使用:

echo $_POST['email'];

如何以json格式发送?是否需要在标题中指定?为什么要这样做?PHP不需要JSON,它不会将其解码为
$\u POST
if(isset($_POST['email'])){
  echo json_encode($_POST['email']);
}
echo $_POST['email'];