$_SESSION 値の設定を解除できるように、ajax を介して関数にデータを渡そうとしていますが、機能していません。<div>
jQuery 部分が機能し、ページから適切に「削除」します。ただし、バックグラウンドの ajax は機能していません。テスト用に JavaScript アラートを追加しましたが、起動しません。
jQuery コード:
//This function "removes" an individual order item in the basket
$("#basketItemsWrap").on("click", "li img.delete", function(event) {
var productIDValSplitter = (this.id).split("_");
var productIDVal = productIDValSplitter[1];
$("#notificationsLoader").show();
$.ajax({
type: "POST",
url: "includes/ajax/functions.php",
data: { productID: productIDVal, action: "deleteFromBasket"},
success: function(theResponse) {
$("#order_" + productIDVal).hide("slow", function() {
$(this).remove();
Calc();
});
$("#notificationsLoader").hide();
},
complete: function(){
},
error: function(xhr, status, error){
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
});
functions.php コード:
<?php
session_start();
if ($_POST['action'] == "deleteFromBasket"){
?>
<script type="text/javascript">
alert("test");
</script>
<?php
unset($_SESSION['order_parts'][$_POST['productID']]);
}
?>
どうやら「deleteFromBasket」がうまく渡されていないのは、if チェックに入っていないためです。
また、「echo $_POST['action'];」を追加すると、functions.php では何も表示されません。