我失去了找到解决方案并立即需要帮助的道路。我有一个名为list.php的php页面,它显示了每个产品上带有BUY图标的产品列表。单击“购买”按钮后,它将指向action.php(其中包含要添加到数据库中的脚本),然后使用标题返回同一页面(location:list.php?id = $ r [id_product])。我想在返回list.php后显示弹出消息“产品现在已添加到购物车”。怎么做?
答案 0 :(得分:1)
你可以cookie
并在回来后检查是否有cookie
指定,如果有,请显示消息。
但是如果你使用ajax
你不需要cookie,只需在ajax解析函数中添加弹出函数,就像那样
function addToBasket(itemId) {
var x = new XMLHttpRequest();
x.open('GET', '/ajax/action.php?add=' + itemId, true);
x.onreadystatechange = function() {
if (x.readyState == 4) && (x.status == "200") {
var responseObj = eval('(' + x.responseText + ')');
if (responseObj.status == 0)
window.alert('The product successfully added to your basket');
else
window.alert('An error has occured during the processing the data. Please try again later');
}
};
x.send(null);
action.php
代码示例
<?php
// ...
$response = array('status' => 1);
if (isset($_GET['itemId'] && $_GET['itemId'] != '')
{
$item_id = htmlspecialchars($_GET['itemId']);
if (is_numeric($item_id)
{
put_in_table($item_id);
$response = array('status' => 0);
}
}
// output an Ajax response
header('Content-Type: application/javascript');
echo json_encode($response);
?>
答案 1 :(得分:0)
在action.php上创建会话或Cookie
如果找到show popup
,请检查list.php在显示弹出窗口后将其销毁,以便现在一次又一次地显示。
答案 2 :(得分:0)
你在标题中提到ajax,那么为什么不使用ajax来发布action.php的帖子,并且在成功完成ajax请求后你可以显示弹出窗口。
答案 3 :(得分:0)
<?php if( isset($_POST['id']) && $_POST['id']>0 ){ ?> alert(message); <?php } ?>
答案 4 :(得分:0)
关于popup thingy,检查链接Launch Bootstrap Modal on page load,它叫做bootstrap modal,非常简单易用。您需要编写一个小脚本才能在页面加载时启动它。