我的编码不起作用。谁能告诉我为什么?下面是代码:
AJAX代码:
function sale(sale_code,sale_quantity) {
if (sale_code.length == 0 || sale_quantity == 0) {
alert("Product's code & quantity are required!");
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("show").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET", "sl.php?sdoc_no=<?= $sdoc_no ?>&sdoc_date=<?= $sdoc_date ?>&sale_code=" + sale_code + "&sale_quantity=" + sale_quantity, true);
xmlhttp.send();
}
}HTML & PHP:
<?php $qitem = mysqli_query($conn, "SELECT * FROM stocks WHERE stock_type = 'product'");
while($ritem = mysqli_fetch_array($qitem)){ ?>
<div class="col-md-4 col-sm-6 text-center">
<button class="btn btn-info btn-block" type="button" onclick="sale(<?= $ritem['stock_code'] ?>, 1)"><?= $ritem["stock_name"] ?><br />
<small>RM <?= number_format($ritem["stock_sprice"], 2) ?></small>
</button>
</div>
<?php } ?>sl.php文件正在工作,如果我手动放置它,就会返回数据。请注意,对于这个按钮,我使用了引导选项卡。
发布于 2016-06-19 09:16:36
您需要在js中的字符串参数周围有引号:
更改:
sale(<?= $ritem['stock_code'] ?>, 1)至:
sale('<?= $ritem['stock_code'] ?>', 1)然后,在将参数用作url参数之前,您应该先对它们进行编码。
对于JS,使用encodeURI,对于PHP,使用urlencode;
发布于 2016-06-19 08:02:47
我怎么看不见它.
你错了:
xmlhttp.open("GET", "sl.php?sdoc_no=<?= $sdoc_no ?>&sdoc_date=<?= $sdoc_date ?>&sale_code=" + sale_code + "&sale_quantity=" + sale_quantity, true);您不能在JavaScript中使用PHP ..。所以你错了
sl.php?sdoc_no=<?= $sdoc_no ?>&sdoc_date=<?= $sdoc_date ?>&sale_code=" + sale_code + "&sale_quantity=" + sale_quantity此<?= $sdoc_no ?>和<?= $sdoc_date ?>是无效的JS代码..。
https://stackoverflow.com/questions/37905127
复制相似问题