我有这个输入字段。
<input type="email" name="email" required/>
点击提交按钮后,它会进入:
$(".store_email").click(function()
{
var ajax_url_store_email = "store_email.php";
var value= document.getElementsByName('email')[0].value;
$.post(ajax_url_store_email, {act:"Subscribe", value:value}, function(e){
console.log(e);
});
});
电话会发送到:
$email=$_POST["value"];
$verify= $link->query(" INSERT INTO `Subscribers_email`(`email`) VALUES ('$email') ");
if($verify==true)
{
return json_encode( "Success!");
}
else
{
return json_encode("Something went wrong!");
}
一切都很好,但这个电话没有回复任何东西。我的意思是console.log(e);
没有打印,可能是什么原因?
答案 0 :(得分:1)
要返回对ajax请求的回复,您必须echo
而不是return
:
if($verify==true){
echo json_encode( "Success!");
}
else{
echo json_encode("Something went wrong!");
}
答案 1 :(得分:1)
尝试回显并退出而不是返回
$verify= $link->query(" INSERT INTO `Subscribers_email`(`email`) VALUES ('$email') ");
if($verify==true)
{
echo json_encode( "Success!");
}
else
{
echo json_encode("Something went wrong!");
}
exit;
答案 2 :(得分:1)
答案 3 :(得分:1)
加上其他答案你必须在$ .post函数中设置json dataType,如果你想将值返回为json:
$.post(ajax_url_store_email, {act:"Subscribe", value:value}, function(e){
console.log(e);
},'json');