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;