Javascript API不会从ajax调用中获取任何post数据
我正在尝试用ajax post调用发送数据。但这并没有发送任何数据 我的html表单是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
<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'];