我在一个网站上工作,我弄不明白为什么我不能在html页面的input标签中显示php会话的值。
这是我的javascript代码:
var qty = $.ajax({
url: 'winkelwagen.php',
data: {add: id, volume: "magnum"},
type: 'get'
});
$['input[name="item-qty-' + id + '"]'].val = toString(qty);
以及它引用的php函数:
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代码:
<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循环)
我希望你能帮助我。
发布于 2018-08-18 03:50:20
$.ajax
不返回服务器响应。它是异步的,您需要使用回调函数来处理响应。
$.ajax({
url: "winkelwagen.php",
data: { add: id, volume: "magnum" },
type: "get",
success: function(qty) {
$('input[name="item-qty-' + id + '"]').val(qty);
}
});
发布于 2018-08-18 03:55:50
ajax
不会自动在qty
变量中存储/返回响应,而是必须附加一个callback
来处理它。您必须这样做才能获得所需的输出:
$.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");
});
https://stackoverflow.com/questions/51901974
复制相似问题