POST成功,但PHP代码未执行

问题描述 投票:0回答:1

我正在使用JQuery post方法将数据从外部JS脚本发送到PHP脚本。

const Url2 = 'MainPage2.php?action=updatePurchaseToDB';
   const data = {
       name: "test name"
   }
   //takes 3 arg, url, data to sedn, call back function, data in callback holds the page reqeusted in data
   $.post(Url2,data, function(data, status){
       console.log('${data} and status is ${status}');
       alert("PHP Retrned form server:  Status " + status);
   });

这是MainPage2.php中的PHP代码:

if ($_POST['action'] == 'updatePurchaseToDB'){
    echo "<script>console.log('UPDATE PURCHASE CALLED!');</script>";
    echo "PHP CALLED AS PURCHASE BUTTON PRESSED";
  }

回调函数返回一条Success消息,但我看不到任何证据表明PHP代码已执行,但控制台上未打印任何内容。

我对PHP脚本的调用中缺少某些内容吗?

php jquery post
1个回答
2
投票

由于操作位于URL中,因此您需要使用$_GET['action']而不是$_POST['action']进行访问。如果要在POST数据中添加它,则需要将其添加到data对象中:

const data = {
    action: "updatePurchaseToDB",
    name: "test name"
}

您的console.log()调用未正确替换变量。您需要使用反引号来创建模板文字。

   $.post(Url2,data, function(data, status){
       console.log(`${data} and status is ${status}`);
       alert("PHP Returned form server:  Status " + status);
   });
© www.soinside.com 2019 - 2024. All rights reserved.