我不知道这是否可行,但在这个页面上我有以下代码:
$moduleHTML = "";
while($sqlstmt->fetch()) {
$moduleHTML .= "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL;
$outputmodule = "";
$outputmodule .= "<p><strong>Module:</strong> " . $dbModuleId . " - " . $dbModuleName . "</p>";
}
但我想在另一个页面中回显变量$outputmodule
。下面是另一个页面的代码,其中包含链接上面脚本的ajax(module.php)以及它包含echo的位置以及它包含模块下拉菜单的一部分:
<script type="text/javascript">
function getModules() {
var course = jQuery("#coursesDrop").val();
jQuery('#modulesDrop').empty();
jQuery('#modulesDrop').html('<option value="">Please Select</option>');
jQuery.ajax({
type: "post",
url: "module.php",
data: { course:course },
success: function(response){
jQuery('#modulesDrop').append(response);
}
});
}
</script>
...
<?
$moduleHTML = "";
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL;
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$moduleHTML .= '</select>';
echo $outputmodule;
...
问题是我收到上面回声的未定义错误。我的问题是如何将module.php页面中的$dbModuleId and $dbModuleName
回显到editsession.php页面(上面的脚本)?
答案 0 :(得分:0)
在不同的请求中调用php脚本,还是彼此包含在一起?如果有不同的请求,您可以将变量存储在$ _SESSION中,并在请求之间使用它。如果在同一个请求中,则该变量可以位于相同的范围内,也可以使用global关键字在范围内共享。
http://php.net/manual/en/features.sessions.php
http://php.net/manual/en/language.variables.scope.php
通常不推荐全球。还有全局数组的东西。只是取决于你是否在同一个请求中。
答案 1 :(得分:0)
如果你不想使用会话,你可以将你的值作为json数组传回然后解码它并用jquery追加你的值
$outputArray = array();
while($sqlstmt->fetch()) {
$outputArray['moduleHTML'] = "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL;
$outputArray['outputModule'] = "<p><strong>Module:</strong> " . $dbModuleId . " - " . $dbModuleName . "</p>";
}
echo json_encode($outputArray);
然后在你的页面上
<script type="text/javascript">
function getModules() {
var course = jQuery("#coursesDrop").val();
jQuery('#modulesDrop').empty();
jQuery('#modulesDrop').html('<option value="">Please Select</option>');
jQuery.ajax({
type: "post",
url: "module.php",
data: { course:course },
success: function(response){
var outputjQuery.parseJSON(response)
jQuery('#modulesDrop').append(output.moduleHTML);
jQuery('#outputModule').html(output.outputModule);
});
});
}
</script>
...
<?
$moduleHTML = "";
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL;
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$moduleHTML .= '</select>';
$moduleHTML .= '<div id="outPutModule"></div>;
echo $moduleHTML;