私はphp cartクラスを使用しています。ユーザーがクリックして商品を追加したときにdivを更新するjqueryが追加されました。JQuery GETは不要なHTMLを取得します
私が抱えている問題は、製品が追加されたときに、製品のリストがHTMLページ(スクリーンショット)に複製されていることです。
デフォルトのページ:
そして、すべての製品が追加されたときにこれが結果です:
あなたが見ることができるようにカートが更新されます製品の重複セットが表示されます。
ここで私が使用していますjQueryの:
<script type="text/javascript">
function getItem(id)
{
$.ajax({
type: "GET",
url: 'index2.php',
data: "action=add&id=" + id,
success: function(data) {
$('#info').html(data);
}
});
}
</script>
とID情報とdivの間でのPHP:
<div id="info">
<?php
if(!empty($items)){
echo '
<table style="border:2px solid #cc0000;width:400px">
<tr>
<td><strong>Item</strong></td>
<td><strong>Price</strong></td>
<td><strong>Quantity</strong></td>
<td><strong>Total</strong></td>
<td></td>
</tr>';
$total = 0;
foreach($items as $id=>$qty) {
foreach($products as $product) {
if($product['id'] == $id)
break;
}
if(!isset($product['name']))
continue;
echo '
<tr>
<td>' . $product['name'] . '</td>
<td>$' . $product['price'] . '</td>
<td>' . $qty . '</td>
<td>$' . ($product['price'] * $qty) . '</td>
<td><a href="?action=remove&id=' . $id . '">[x Remove]</a></td>
</tr>';
$total += $product['price'] * $qty;
}
echo '
<tr>
<td><a href="?action=empty">[Empty Cartt]</a></td>
<td colspan="4" align="right"><strong>Grand Total: $' . $total . '</strong></td>
</tr>
</table>';
}
else{
echo '<p style="color:#990000;">Your shopping cart is empty.</p>';
}
?>
</div>
は、私がこれを引き起こしているかわからないが。
解決方法はありますか?
'index2.php'のコードは何ですか? –
上記のhtmlはindex2のものです。スクリプトは同じページにあります。 –
したがって、あなたのajaxリクエストは既にページにある同じデータを返します。あなたは何を期待していますか? –