Javascript 检索AJAX发布的每个变量
我将复选框选择存储在一个数组中,然后拆分每个数组并使用AJAX发布它们,这样我的PHP函数就可以使用发布的id/id查询我的MySQL数据库 我的JavaScript的第一部分Javascript 检索AJAX发布的每个变量,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我将复选框选择存储在一个数组中,然后拆分每个数组并使用AJAX发布它们,这样我的PHP函数就可以使用发布的id/id查询我的MySQL数据库 我的JavaScript的第一部分 $('#tbl_list').click(function (event) { var tbls = new Array(); $("input:checkbox[name='tbl[]']:checked").each(function () { tbls.push($(this).va
$('#tbl_list').click(function (event) {
var tbls = new Array();
$("input:checkbox[name='tbl[]']:checked").each(function () {
tbls.push($(this).val());
});
var tbl = tbls.join('|');
alert(tbl);
第一部分按预期工作,每次单击复选框时,该值都会发出警报
阿贾克斯邮报
$.ajax({
type: "POST",
url: "index.php",
data: "tbl=" + tbl
});
});
最后是我的PHP
function describeTables() {
if (isset ( $_POST ['tbl'] )) {
$tbl = $_POST ['tbl'];
echo $tbl;
}}
即使我只选择了一个选项,我也得不到任何tbl的价值。这是为什么
编辑
我的复选框
function showTables() {
if (isset ( $_GET ['db'] )) {
$db = $_GET ['db'];
$link = mysqli_connect ( 'localhost', 'root', '', $db );
$qry = "SHOW tables";
$tbl_list = mysqli_query ( $link, $qry );
echo '<ul>';
while ( $row = mysqli_fetch_array ( $tbl_list ) ) {
echo '<input type="checkbox" name="tbl[]" class="tbl_list" value="' . $row [0] . '" class="tablebox" />';
echo $row [0];
echo '<br>';
}
}
}
showTables ();
旧函数
/*
$(document).on("change", ".tablebox", function () {
var tbls = new Array();
$("input:checkbox[name='tbl[]']:checked").each(function () {
tbls.push($(this).val());
});
var tbl = tbls.join('|');
var yourDB = window.sessionStorage.getItem("db");
window.location.assign("index.php?db=" + yourDB + '&tbl=' + tbl);
});
*/
如何解决这个问题???在ajax调用中,数据必须是对象数据:{'tbl':tbl}您应该将{}与数据一起使用
$.ajax({
type: "POST",
url: "index.php",
data: {'tbl' : tbl}
});
或
ajax调用的第一件事是,数据必须是对象
data: {'tbl': tbl}
其次,Ajax不能直接调用php函数
因此,如果没有函数,index.php文件应该是这样的
if (isset ( $_POST ['tbl'] )) {
$tbl = $_POST ['tbl'];
echo $tbl;
}
这应该与工作有关
$.ajax({
type: "POST",
url: "someurl",
data: {"tbl=" + tbl}
});
有关文档,请参见此处看起来tbls/tbl是click函数的局部变量。你什么时候叫邮局?它在这个函数里面吗?是的,它在函数里面,我在建议后已经删除了这个函数编辑了OP请看编辑了OP请看一看。
if (isset ( $_POST ['tbl'] )) {
$tbl = $_POST ['tbl'];
echo $tbl;
}
$.ajax({
type: "POST",
url: "someurl",
data: {"tbl=" + tbl}
});