我正在使用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脚本的调用中缺少某些内容吗?
由于操作位于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);
});