不使用PHP将数据从ajax加载的文件传递回父文件
在INDEX.PHP中,我打开了一个Boostrap对话框,通过ajaxBACKUPS.PHP加载不使用PHP将数据从ajax加载的文件传递回父文件,php,jquery,ajax,Php,Jquery,Ajax,在INDEX.PHP中,我打开了一个Boostrap对话框,通过ajaxBACKUPS.PHP加载 BootstrapDialog.show({ size: BootstrapDialog.SIZE_NORMAL, title: 'Backups', closable: true, message: $('<div></div>').load('backups.php'), buttons: [{ i
BootstrapDialog.show({
size: BootstrapDialog.SIZE_NORMAL,
title: 'Backups',
closable: true,
message: $('<div></div>').load('backups.php'),
buttons: [{
id: 'download_backups',
label: 'Download selected',
action: function(dialogItself){
$.ajax({
url : 'downloadbackup.php?q=download',
type: 'POST',
success : function(data){
}
});
dialogItself.close();
}]
});
目标是将数组selected_db_chk
传递到INDEX.PHP,这样就可以将它传递到DOWNLOADBACKUP.PHP下载所选文件
我的问题是如何使用Javascript而不是PHP将所选的\u db\u chk
传递回INDEX.PHP?我认为,如果在INDEX.PHP中声明,它将是全局定义的:
var selected_db_chk;
并且可以从其他文件访问,但是如果我在BACKUPS.php中调用它时尝试这种方式,我得到的
selected\u db\u chk
是未定义的这取决于您在哪里声明selected\u db\u chk
。这里的拙劣解决方案是使用窗口[“selected\u db\u chk”]=“selected”
,并将其用作窗口[“selected\u db\u chk”]。推送(filename)
,假设这都在同一页面中,并且没有重新加载。基本上就是您通常初始化它的地方。我想在这里,您每次在.on(change
函数中初始化它。但是,您还应该检查它是否已设置,因为您可能会在没有触发更改事件时尝试读取它,在这种情况下,您可能需要发送一个空数组。好的,得到了它,它工作了!我声明了窗口。已选择\u db\u chk=[]
在index.php中,将其填入backups.php窗口。选择_db\u chk.push(文件名)
并在index.phpconsole.log(window.selected\u db\u chk)
中读取其内容。
var selected_db_chk;