网页加载......
php循环显示第1层数据。
点击第1层 - > ajax调用第2层数据(html)
点击第2层 - >第二个ajax调用第3层数据(html)
一切正常。
我想要做的是在第一个ajax调用中根据条件php语句进行第二次ajax调用。如果第一个ajax调用只有1个结果,则启动第二个ajax调用。
伪代码帮助解释:
while(first_array) {
$id = first_array['id'];
echo '<button data="'.$id.'">first ajax call to tier 2 data</button>';
}
第2层(ajax1)
while(second_array) {
$id_2 = second_array['pid'];
if ($result == 1) {
// trigger second ajax call to tier 3 //
} else {
echo '<button data="'.$id_2.'">second ajax call to tier 3 data</button>';
}
}
这可能吗?
我理解服务器端php和客户端javascript。我意识到那里的障碍或限制。但是,当我启动第一个调用时,我可以在PHP中回应一些会激发辅助ajax调用的内容吗?
通过在第一个ajax调用的php中添加一个php函数并且条件调用该函数,我有点工作,否则不使用该函数。该函数只复制第二个ajax php。我不确定复制这样的代码是不是一个好主意。我倾向于不喜欢它,因为编辑需要多个位置来编辑一个项目。包含不起作用。答案 0 :(得分:0)
好的,我想我已经对它进行了分类。
Ajax Call 1包含一个查询。我修改了该查询以提取特定的行数以及其他数据。基于这些计数,我添加了一个条件,基本上是:
if ($theCount == 1) {
echo '<div class="dataholder opened">';
myFunction();
echo '</div>';
} else {
echo '<div class="dataholder"></div>'; //populated by ajax call 2
}
myFunction()
与第二个ajax调用的代码基本相同。
这确实意味着我需要编辑2个位置,如果需要更改,但我目前没有直接看到这一点。基本上我可以只是将ajax调用中的php复制/粘贴到函数中,只调整连接的输出变量。