【问题标题】:PHP-Jquery-AJAX, show popup messagePHP-Jquery-AJAX,显示弹出消息
【发布时间】:2014-10-28 08:25:41
【问题描述】:

我迷失了寻找解决方案的途径,需要立即获得帮助。我有一个名为 list.php 的 php 页面,它显示了每个产品上带有 BUY 图标的产品列表。单击购买按钮后,它将定向到 action.php(其中包含要添加到数据库中的脚本),然后使用 header(location:list.php?id=$r[id_product]) 返回到同一页面。返回到 list.php 后,我想显示一条弹出消息“产品现已添加到购物车”。该怎么做?

【问题讨论】:

  • 返回列表时放一个属性或类似 header(location:list.php?show=1)
  • 抱歉忘记添加了。问题已编辑。我已经用过了。

标签: javascript php jquery ajax


【解决方案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);
?>

【讨论】:

  • 我正在使用来自jsfiddle.net/pX5kr 的脚本,但仍然无法正常工作。是一样的还是不一样的?
  • 在我的浏览器中它正在工作。几乎相同,只是在上面的示例中,您通过jquery 实现了结果。在我的示例中,我使用了纯 JavaScript。他们都给出了相同的结果。选择你喜欢的。
【解决方案2】:

在 action.php 上创建会话或 Cookie

如果找到显示弹出窗口,请检查 list.php

在显示弹出窗口后将其销毁,这样它现在会一次又一次地显示。

【讨论】:

    【解决方案3】:

    你在标题中提到了ajax,那你为什么不使用ajax来发布到action.php,并且在成功完成ajax请求后你可以显示弹出窗口。

    【讨论】:

      【解决方案4】:

      &lt;?php if( isset($_POST['id']) &amp;&amp; $_POST['id']&gt;0 ){ ?&gt; alert(message); &lt;?php } ?&gt;

      【讨论】:

        【解决方案5】:

        关于弹出的东西,检查链接Launch Bootstrap Modal on page load,它被称为引导模式,使用非常简单。您需要编写一个小脚本,以便在页面加载时启动它。

        【讨论】:

          猜你喜欢
          • 2018-06-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-09
          • 2012-05-28
          • 1970-01-01
          相关资源
          最近更新 更多