0

我的问题是:我必须使用 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;?> 但我不确定,也无法找出问题的根源。

4

1 回答 1

4

您需要在请求中设置数据而不是成功回调。正如其他几个人指出的那样,您的echophp.ini 中也缺少一条语句。

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;?>");
于 2013-07-16T18:20:42.490 回答