我的问题是:我必须使用ajax调用将a.php中的变量传递给b.php,该调用从a.php获取变量'numitems'并将其传递给b.php ......
我的代码如下,但当我尝试在b.php中检索'numitems'时,我收到此消息:
注意:未定义索引:第19行b.php中的numitems
stringaPost();
xmlHttp.open('POST', "b.php", true);
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
data: {numitems : <?php $numitems;?> }
document.getElementById("primaryContent").innerHTML=xmlHttp.responseText;
}
}
};
而不是b.php我有:
$numitems = $_POST['numitems'];
问题可能与数据一致:{numitems : <?php $numitems;?>
但我不确定,我无法弄清楚问题的根源。
答案 0 :(得分:4)
您需要在请求中设置数据而不是成功回调。正如其他几个人所指出的那样,你在php中也错过了echo
语句。
stringaPost();
xmlHttp.open('POST', "b.php", true);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
document.getElementById("primaryContent").innerHTML=xmlHttp.responseText;
}
}
};
xmlHttp.send("numitems=<?php echo $numitems;?>");