使用javascript在html输入标记中显示php会话的值
我在一个网站上工作,我不明白为什么我不能在html页面的输入标记中显示php会话的值 这是我的javascript代码:使用javascript在html输入标记中显示php会话的值,javascript,php,ajax,session,Javascript,Php,Ajax,Session,我在一个网站上工作,我不明白为什么我不能在html页面的输入标记中显示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
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循环,用于打印购物车中的项目)
我希望你能帮助我。你把括号合上了吗 数据:{添加:id,卷: 哦,你可能应该避开这些变量,这样人们就不会 php?添加=;删除数据库产品
噢,还有@Barmar说的…
$。ajax
不会返回服务器响应。它是异步的,您需要使用回调函数来处理响应
$.ajax({
url: "winkelwagen.php",
data: { add: id, volume: "magnum" },
type: "get",
success: function(qty) {
$('input[name="item-qty-' + id + '"]').val(qty);
}
});
ajax
不会自动在qty
变量中存储/返回响应,而是必须附加一个回调来处理它。
您必须这样做才能获得所需的输出:
$.ajax({
url:'winkelwagen.php',
数据:{
地址:id,
卷:“万能”,
键入:“获取”
}).完成(功能(数量){
$['input[name=“item qty-”+id+“]']].val(JSON.stringify(qty));
}).fail(函数(){
警报(“错误”);
});
您缺少Javascript中的数据:
行的其余部分。我认为您还需要使用.val(toString(qty))
而不是在jQuery中分配给它。在这种情况下,我仍然收到这样一条消息,jQuery无法读取undefined的属性“val”。很抱歉,我复制了您对.val
的使用,并没有注意到您的语法完全错误,我专注于AJAX调用。我已经更正了它。tnx我现在知道它确实是错误的,所以我更改了它。N现在我在输入中得到一个新的值,但我得到的是整个html代码作为值,而不是新的数字。这听起来像是winkelwagen.php的问题,它只是回显html代码,而不仅仅是会话变量的值。是的,这是正确的,但我无法找出问题似乎是什么,因为如果直接从php回显值,则会得到correct value由于sql给出语法错误,DROP数据库无法工作