使用AJAX的PHP函数调用-更新cookie
我目前正在一家在线商店尝试更新我的cookie。 当商店中特定产品的数量更新时,必须更新cookie并重新加载页面 我正试图通过JQuery的onchange事件来实现这一点。 我将其编码如下:使用AJAX的PHP函数调用-更新cookie,php,ajax,cookies,request,Php,Ajax,Cookies,Request,我目前正在一家在线商店尝试更新我的cookie。 当商店中特定产品的数量更新时,必须更新cookie并重新加载页面 我正试图通过JQuery的onchange事件来实现这一点。 我将其编码如下: $.ajax({ type: 'POST', url: "./DAO/WinkelwagenDAO.php", data: {function: "UpdateAantal", productId: productId, Aanta
$.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']);
}
}
这里将调用UpdateAntal函数,该函数在php_文件中定义。因此,我必须包含另一个PHP文件来访问一些getter/setter。我认为这里也有一个问题,因为当我包含_once'/Model/winkelvagenitem.php'时;它给出一个警告,即通过class/class/…找不到文件。。。这是正确的。当我做一个文件时,_的存在就像下面的代码一样,它说文件确实存在,但有点卡在这里
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";
}
}`
有人能帮我吗?整天都在尝试你知道你可以使用javascript访问cookie,除非它们是仅限http的?cookie存储在客户端,因此你不必点击服务器来更新cookie。我的示例中如何做到这一点?
Source/Model/WinkelwagenItem -> Getters and setters
Source/DAO/WinkelwagenDAO -> UpdateAantal function