如何用 ajax 打开你发送数据的文件?

How to open the file where you send the data to with ajax?

我是 ajax 的新手,所以我不确定我是否做对了。 我正在尝试将 Javascript 数组传递给 PHP 文件。如果成功打开 PHP 文件并显示数组。打开文件后出现的错误是:

undefined $productList

同时,如果我检查并查看网络选项卡,ajax 已成功发送并且响应也很好(我可以看到数组的内容),但是当我尝试打开文件时它抛出我的错误。所以我的问题是如何打开一个文件,我用 ajax 将数据发送到该文件?
数组:

array(6) { ["name"]=> string(28) "Inuyasha by rumiko takahashi" ["image"]=> string(35) "https://via.placeholder.com/195x280" ["id"]=> string(1) "5" ["count"]=> string(1) "1" ["price"]=> string(2) "12" ["basePrice"]=> string(2) "12" }

ajax:

function passArray(){
    $.ajax({
        type: "POST",
        url: "assets/js/test.php",
        data: {productsInCart:productsInCart},
        error: function(){
          alert('something went wrong..');
        }
    });
    //window.open("assets/js/test.php", "_self"); //how to open the file where the data is sent?
}

PHP代码:

if($_POST){
    $productlist = $_POST;
}else{
    $productlist = "";
    echo "doesnt work ";
    
    die();
}
//var_dump($productlist);


foreach($productlist as $number){
    foreach ($number as $cat => $prop) {
        echo $cat;
        echo $prop;
    }
}

$html .= "</table>";

您正在向同一个 URL 发出两个不同的请求。

  • $.ajax 您正在发出 POST 请求。
  • 您正在使用 window.open 发出 GET 请求。

PHP 程序将 运行 独立地 处理每个请求。您在第一个请求中发布的数据在第二个请求中将不可用。

如果你想显示一个页面,你得到的结果是 POSTing 一些数据然后使用:

<form action="..." method="post" target="_self">

不要使用 Ajax(这是为了在不离开当前页面的情况下发出 HTTP 请求 — 通常,您会在对 Ajax 请求并使用 DOM 操作将其添加到当前页面。