我目前正在尝试在网上商店更新我的Cookie。 当更新商店中特定产品的数量时,必须更新cookie并重新加载页面。
我正在尝试使用onchange
JQuery
事件执行此操作。
我将其编码如下:
$.ajax({
type: 'POST',
url: "./DAO/WinkelwagenDAO.php",
data: {function: "UpdateAantal", productId: productId, Aantal: aantal},
success: function (data) {
console.log("Succeeded!", data);
//location.reload(); //To reload page
},
error: function (err) {
console.log("Something went wrong in the AJAX-request: ", err);
}
});
});
这样可以记录正确的事情。
现在,对于我的PHP文件,我抓住了这个事件:
if (isset($_POST['function'])) {
$action = $_POST['function'];
switch ($action) {
case 'UpdateAantal' :
echo "\nAmount to change for ProductId: " . $_POST['productId'] . " use function: " . $_POST['function'] . " set amount to: " . $_POST['Aantal'];
WinkelwagenDAO::UpdateAantal($_POST['productId']);
}
}
这里将调用UpdateAantal()
- 函数,该函数在此php_file中定义。因此,我必须包含另一个PHP文件才能访问一些getter / setter。 (我认为这里也存在一个问题,因为当我include_once './Model/WinkelwagenItem.php';
时,它会发出一个警告:找不到文件(尽管class/class/...
是正确的)。当我做File_exists
时它下面的代码说文件存在(这里有点卡住)
public static function UpdateAantal($productId) {
if (file_exists('Model/WinkelwagenItem.php')) {
//echo "\nFile that you wanted to import in winkelwagenDAO does exist!\n<br>";
include_once 'Model/WinkelwagenItem.php';
} else {
//echo "File that you wanted to import in WinkelwagenDAO does NOT exist!";
}
echo "\nUpdateAantal function called";
$Array = self::getWinkelwagenItems();
echo $Array[0]->getProductId(); //HERE IT GOES WRONG
if (isset($_COOKIE["winkelwagen"])) { //COOKIE EXISTS?
$Array = self::getWinkelwagenItems();
$index = 0; //positie bijhouden
foreach ($Array as $product) {
if ($productId == $Array[$index]->getProductId()) {
//echo $productId . " == " . $Array[$index]->getProductId();
$Array[$index]->setAantal($_POST['Aantal']);
$SerializeArray = serialize($Array);
setcookie("winkelwagen", $SerializeArray);
break; //Quit if match
} else {
$index++;
}
}
} else {
echo "This cookie did not exist";
}
}`
这是我在控制台中获得的内容(底部错误):
似乎无法调用->GetProductID()
,因为include_once()
可能做错了吗?但是,当我执行include_once时,它会发出警告:目录中没有这样的文件,我已经仔细检查了这个,文件确实存在。它说当我使用if(php中的File_exists)时它会出现。
Source/Model/WinkelwagenItem -> Getters and setters
Source/DAO/WinkelwagenDAO -> UpdateAantal function
任何人都可以帮助我吗?一整天都在尝试