无法使用ajax将变量从javascript传输到php



我尝试使用ajax和其他字符串变量(如代码中的"gtotal"(发送存储在数组(emp(中的数据,但数据尚未传输到PHP文件。它没有显示任何错误,但当我删除isset((函数时,它显示未识别的索引。我尝试了不同的变量,但到目前为止没有运气。控制台函数在HTML文件中工作,并返回传递的值,但数据尚未在PHP文件中收集,如$_POST的返回值显示空数组。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script >
$('#btn').click(function(){
var grandtotal=document.getElementById("gt");
var x =grandtotal.textContent;
var gtotal= String(x);;
var emp={};
emp.name=gtotal;
if(x=== '₹0'){
alert("Add to your cart")}
else{  $.ajax({
method: "POST",
url: "connect2.php",
data: emp,
success: function(data){
console.log(data);
}
});
// location.href='connect2.php'

}});
</script>
<?php
print_r($_POST);
if(isset($_POST['gtotal']))
{
$gtotal = $_POST['gtotal'];
echo $gtotal;
}
?>

问题是$_POST中没有发送名为gtotal的项目。

执行var_dump($_POST(以检查正在发送的内容。

您要求发送一个具有项目名称的对象。如果你在转储中看到它,那么你需要使用$_POST['name']而不是$_POST['total']

最新更新