首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用javascript在html输入标记中显示php会话的值。

使用javascript在html输入标记中显示php会话的值。
EN

Stack Overflow用户
提问于 2018-08-18 03:44:20
回答 2查看 66关注 0票数 -1

我在一个网站上工作,我弄不明白为什么我不能在html页面的input标签中显示php会话的值。

这是我的javascript代码:

代码语言:javascript
复制
var qty = $.ajax({
    url: 'winkelwagen.php',
    data: {add: id, volume: "magnum"},
    type: 'get'
});

$['input[name="item-qty-' + id + '"]'].val = toString(qty);

以及它引用的php函数:

代码语言:javascript
复制
if(isset($_GET['add'])) {

    $query = query("SELECT * FROM products WHERE id = " . $_GET['add'] . " ");
    validate($query);

    while($row = mysqli_fetch_assoc($query)) { 

        if(isset($_GET['volume'])) {
            if($_GET['volume'] == "magnum") {
                if($row['category'] == 'Champagne') {
                    $_SESSION['product_' . $_GET['add'] . '_magnum'] += 1;
                } else {
                    $_SESSION['product_' . $_GET['add'] . '_magnum'] += 6;
                }
                return $_SESSION['product_' . $_GET['add'] . '_magnum'];
            } else {
                if($row['category'] == 'Champagne') {
                    $_SESSION['product_' . $_GET['add']] += 1;
                } else {
                    $_SESSION['product_' . $_GET['add']] += 6;
                }
                return $_SESSION['product_' . $_GET['add']];
            }
        }

    }

}

这是html代码:

代码语言:javascript
复制
<button class="cart-btn-remove" onclick="manageProducts('remove',0,{$id})"><ion-icon name="remove"></ion-icon></button>
<input type="text" name="item-qty-{$id}" value="{$amount}">
<button class="cart-btn-add" onclick="manageProducts('add',0,{$id})"><ion-icon name="add"></ion-icon></button>

(这来自于打印购物车中的商品的php循环)

我希望你能帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-18 03:50:20

$.ajax不返回服务器响应。它是异步的,您需要使用回调函数来处理响应。

代码语言:javascript
复制
$.ajax({
    url: "winkelwagen.php",
    data: { add: id, volume: "magnum" },
    type: "get",
    success: function(qty) {
        $('input[name="item-qty-' + id + '"]').val(qty);
    }
});
票数 0
EN

Stack Overflow用户

发布于 2018-08-18 03:55:50

ajax不会自动在qty变量中存储/返回响应,而是必须附加一个callback来处理它。您必须这样做才能获得所需的输出:

代码语言:javascript
复制
$.ajax({
      url: 'winkelwagen.php',
      data: {
        add: id,
        volume: "magnum",
        type: 'get'
      }).done(function(qty) {
      $['input[name="item-qty-' + id + '"]'].val(JSON.stringify(qty));
    }).fail(function() {
      alert("error");
    });

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51901974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档