php - 返回 Json_Encode 内容并以 HTML 显示
问题描述
我有一个输入,我希望用户输入他们的电子邮件地址,以便他们可以订阅时事通讯。我有执行某些检查的简单 php 代码,但我似乎找不到将文本显示到 HTML div 中的方法(错误或成功案例)。
这是我的 php 代码:
// code above is left out for simplicity
$success = @mail($mailTo, $subject, $msg, $headers);
if ($success) {
// I think i got it wrong here ...?
$json_arr = array( "type" => "success", "msg" => $successMsg );
echo json_encode( $json_arr );
} else {
$json_arr = array( "type" => "error", "msg" => $errorMsg );
echo json_encode( $json_arr );
}
这是 HTML 代码:
<div class="newsletter_form2">
<form method="post" name="news" action="newsletter.php">
<div class="form-group">
<div class="form-input">
<input type="text" class="form-control" name="emailNewsletter" id="emailNewsletter" required="required" placeholder="Vul je e-mail adres in">
<button type="submit" title="Schrijf mij in" class="btn btn-default btn-radius" name="submit" value="Submit">schrijf mij in</button>
<div class="col-lg-12 text-center">
<div id="alert-msg" class="alert-msg text-center"></div>
</div>
</div>
</div>
</form>
</div>
我在这里缺少什么,有什么建议/方向吗?谢谢!
解决方案
查看 JQuery 的getJSON或Ajax。请记住,您应该在 PHP 中使用header("Content-Type: application/json);
. 使用 JQuery 的serialize()您可以将表单数据推送到 PHP 脚本。
$.ajax({
type: "POST",
url: "yourUrl",
data: $("#form").serialize(),
success: function (result) {
// handling your result
$("#alert-msg").html(result.msg);
}
})
推荐阅读
- amazon-web-services - ECS 任务能否调用 lambda?
- go - 我应该使用测试文件部署云功能吗
- android - 尝试在 google firebase 中使用引用令牌
- sql - 如何在新列中找到下一个最大值?(SQL)
- php - metadata_exists with 'page' 抛出错误“尝试访问 bool 类型值的数组偏移量”
- r - R中是否存在从-360到360度的世界国家多边形?
- c - 从动态二维数组中获取元素
- python - 定义将对象特征转换为分类的函数
- python - 从python中的文件中获取二进制文本
- python - Python 仅从 PDF 文件中提取表格的一部分