使用 ajax 从文件中获取数据
Get data from file using ajax
我正在尝试做这个场景。
如果文件夹为空,则 return false 否则 return true 。
为此,我尝试了这个
function downloadExcel() {
// Mu folder path
var folder="D:/output";
if (result.isConfirmed) {
$.ajax({
type: 'POST',
url: 'check_file.php',
data: {
folder: folder
},
cache: false,
success: function(result){
if(result==false)
{
Swal.fire(
'execution success '
);
}
else
{
Swal.fire(
'extraction failed '
);
}
},
error: function(result){
console.log("Error request Ajax");
}
});
refresh();
} else if (
result.dismiss === Swal.DismissReason.cancel
我的 php 文件来渲染数据 :: check_file.php
<?php
if (!empty($_POST["folder"])) {
$dir = $_POST['folder'];
}
if (is_dir_empty($dir)) {
echo "the folder is empty";
$result=false;
}else{
echo "the folder is NOT empty";
$result=true;
}
return $result;
function is_dir_empty($dir) {
if (!is_readable($dir)) return null;
return (count(scandir($dir)) == 2);
}
?>
当我 运行 我的 check_file.php 检查目录是否为空时工作正常。
但是当我尝试 $result 变量时,我的代码出现了问题
$result 变量始终为空
您永远不会回显 $result
- 即使您回显了布尔值 false
实际上也不会产生任何可见输出。使用 return
结束脚本的主要部分不是必需的,没有多大意义,当然也不会产生任何输出。
你回显的东西既不包含true
也不包含false
,所以很明显JS代码不会匹配那些要么。
为了让JS准确检测到truth-y或false-y值,最好输出数字0
或1
而不是字符串。
另外一点,除非已填充,否则不要尝试使用 $dir
是有意义的。
这个版本应该对你有帮助(请注意,如果 $_POST["folder"]
中没有值,它不会输出 anything - 你可能想添加一些额外的东西来处理那个,但我会留给你):
<?php
if (!empty($_POST["folder"]))
{
$dir = $_POST['folder'];
$result;
if (is_dir_empty($dir)) $result = 0;
else $result = 1;
echo $result;
}
function is_dir_empty($dir) {
if (!is_readable($dir)) return null;
return (count(scandir($dir)) == 2);
}
?>
我正在尝试做这个场景。 如果文件夹为空,则 return false 否则 return true 。 为此,我尝试了这个
function downloadExcel() {
// Mu folder path
var folder="D:/output";
if (result.isConfirmed) {
$.ajax({
type: 'POST',
url: 'check_file.php',
data: {
folder: folder
},
cache: false,
success: function(result){
if(result==false)
{
Swal.fire(
'execution success '
);
}
else
{
Swal.fire(
'extraction failed '
);
}
},
error: function(result){
console.log("Error request Ajax");
}
});
refresh();
} else if (
result.dismiss === Swal.DismissReason.cancel
我的 php 文件来渲染数据 :: check_file.php
<?php
if (!empty($_POST["folder"])) {
$dir = $_POST['folder'];
}
if (is_dir_empty($dir)) {
echo "the folder is empty";
$result=false;
}else{
echo "the folder is NOT empty";
$result=true;
}
return $result;
function is_dir_empty($dir) {
if (!is_readable($dir)) return null;
return (count(scandir($dir)) == 2);
}
?>
当我 运行 我的 check_file.php 检查目录是否为空时工作正常。
但是当我尝试 $result 变量时,我的代码出现了问题
$result 变量始终为空
您永远不会回显
$result
- 即使您回显了布尔值false
实际上也不会产生任何可见输出。使用return
结束脚本的主要部分不是必需的,没有多大意义,当然也不会产生任何输出。你回显的东西既不包含
true
也不包含false
,所以很明显JS代码不会匹配那些要么。为了让JS准确检测到truth-y或false-y值,最好输出数字
0
或1
而不是字符串。另外一点,除非已填充,否则不要尝试使用
$dir
是有意义的。
这个版本应该对你有帮助(请注意,如果 $_POST["folder"]
中没有值,它不会输出 anything - 你可能想添加一些额外的东西来处理那个,但我会留给你):
<?php
if (!empty($_POST["folder"]))
{
$dir = $_POST['folder'];
$result;
if (is_dir_empty($dir)) $result = 0;
else $result = 1;
echo $result;
}
function is_dir_empty($dir) {
if (!is_readable($dir)) return null;
return (count(scandir($dir)) == 2);
}
?>