Javascript JQuery post未在PHP文件中运行代码
我有一个名为Javascript JQuery post未在PHP文件中运行代码,javascript,php,jquery,cookies,Javascript,Php,Jquery,Cookies,我有一个名为temp.PHP的PHP文件,其中包含以下代码: $expiry = 86400; if (isset($_POST['action'])) { switch ($_POST['action']) { case 'add': if (!isset($_COOKIE['ids'])) { $value = $_GET['id']; $ids = array($value); setcookie('ids', seria
temp.PHP
的PHP文件,其中包含以下代码:
$expiry = 86400;
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'add':
if (!isset($_COOKIE['ids'])) {
$value = $_GET['id'];
$ids = array($value);
setcookie('ids', serialize($ids), $expiry);
} else {
$value = $_GET['id'];
$ids = unserialize($_COOKIE['ids']);
if (!in_array($value, $ids)) {
array_push($ids, $value);
}
setcookie('ids', serialize($ids), $expiry);
}
break;
}
我使用$.POST('temp.php',{'action':'add'},函数(数据))
运行此代码
基本上,只要单击一个按钮,我就会执行post函数,并希望将URL参数中的id添加到cookie中的现有数组中,否则就创建一个数组。但是,我可以看到正在创建任何cookie。即使我仅有的代码是setcookie(…)您正在将cookie设置为过期:1970年1月2日星期五00:00:00 GMT 消除使用变量
$expiry
或将其更改为时间戳,setcookie()
需要整数的Unix时间戳,而不是时间量
并在
中断后修复丢失的花括号
但是如果您以POST的形式发送请求,那么$\u GET
将为空…即使我的文件中只有setcookie($name、$value、$expiry)代码,也不会添加cookie@technohy您需要在ajax调用中向服务器发送一个id:$.POST('temp.php?id=…,{'action':'add'},function(data))
尝试在isset($\u POST['action'])之后添加一个错误日志
调用以查看PHP文件是否正确加载。如果你没有从你的错误日志中得到任何信息,那么你的错误就在别处了。你有一个开放的花括号,需要在中断之后有一个代码>
setcookie('ids', serialize($ids), time() + 86400) // 1 Day;