如何在php脚本中实现确认提醒?
我有一个PHP脚本,用于检查用户是否在过去一年中被预订过。如果他们没有,那么他们不能被预订,但是我有一个警告JavaScript,它会提示用户是否希望继续/覆盖预订。 我知道他们是客户端和服务器端。所以在这里我到目前为止做了什么。如何在php脚本中实现确认提醒?
如果$ retemp是1,那么它在过去一年中还没有被预订,我想要一个具有覆盖选项的警报。我不完全理解,我认为我正在与POST和ajax正确的方向。
if($retemp == 1)
{
?>
<script type="text/javascript">
alertify.set({ labels: {
ok : "Yes",
cancel : "No"
} });
// confirm dialog
alertify.confirm("Proceed With Booking", function (e) {
if (e) {
$.ajax({
data: {confirm: 'yes'},
url: 'phpurl.php',
method: 'POST', // or GET
success: function(msg) {
alert(msg);
}
});
} else {
// user clicked "cancel"
}
});
</script>
是的,你在正确的轨道上。在这种情况下(无需重新加载页面)服务器和客户端之间进行通信的唯一方法是ajax。
你的php文件“phpurl.php”需要接收$ _POST ['confirm'],加上你想通过你的“data:”对象中的其他数据点传递给它的任何标识信息。然后,它将需要在最小执行下列
1)发送一个HTTP头状态码 2)输出一个字符串作为输出
在HTTP报头的状态代码可以与http://php.net/manual/en/function.header.php
//i.e. for a minimal success setting
header(200);
echo 'Whatever Message You want the Ajax call to see';
被设置
请参阅http://jsonapi.org了解使用json响应Ajax请求的最佳做法。总是一个合理的选择去与这种类型的事情。
顺便说一句,标题可能会自动设置为200,你必须做一些测试。我总是习惯性地自己设定它。
编辑 警告:未经请求的建议如下。
1)你可能想要考虑你的jQuery成功函数在一个函数中接收全部清除,并实现失败函数来处理某些状态代码中的“不全部清除”,以确定你正在响应哪些用例。见https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
2)jQuery的$。员额是$阿贾克斯的访问速记版本 - 请看 https://api.jquery.com/jQuery.post/
3)笔记从上面的链接
的jqXHR.success (),jQuery 1.5引入的jqXHR.error()和jqXHR.complete()回调方法自jQuery 1.8开始不推荐使用。要准备代码以便最终删除它们,请改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。
* EDIT 2,因为OP询问POST得不到
那么你到底需要什么帮助? –
即时通讯努力理解,如何触发JavaScript脚本的其余部分从alertify?例如,如果是的话继续其余的PHP脚本,否则什么也不做。 – Bish25