【发布时间】:2015-12-03 22:41:35
【问题描述】:
很抱歉问这个问题伙计们,但我已经尝试了一切,而且这个网站上的每个场景都试过了,但无法让它发挥作用。我已经添加了警报和回声等......但它似乎并没有调用该函数。任何人都可以帮忙吗?我从这里的另一篇文章中获得了此代码,它被标记为正确答案,但对我不起作用。
<?php
$directory = "docs/hr/General Information";
$images = scandir($directory);
$ignore = Array(".", "..");
$count=1;
echo '<table border=1>';
foreach($images as $dispimage){
if(!in_array($dispimage, $ignore)){
echo "<tr id='del$count'><td>$count</td><td>$dispimage</td><td><input type='button' id='delete$count' value='Delete' onclick='deleteFile(\"$dispimage\",$count,\"$directory\");'></td></tr>";
$count++;
}
}
echo '</table>';
?>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function deleteFile(fname,rowid,directory)
{
$.ajax({ url: "deletefile.php",
data: {"filename":fname,"directory":directory},
type: 'post',
success: function(output) {
alert(output);
$("#del"+rowid).remove();
}
});
}
</script>
删除文件.php 代码
<?php
$filename = $_POST['filename'];
$path = $_POST['directory'];
if(file_exists($path."/".$filename)) {
unlink($path."/".$filename); //delete file
echo('made it');
}
?>
在控制台中我得到:未捕获的引用错误:未定义删除文件,它突出显示此代码**;'></td></tr><tr id='del2'><td>2</td><td>Final Conference Room Map.pdf</td><td><input type='button' id='delete2' value='Delete' onclick='deletefile("Final Conference Room Map.pdf",2,"docs/hr/General Information");'></td></tr></table><script type="text/javascript" src="js/jquery.js"></script>**
【问题讨论】:
-
您是否添加了错误处理程序并查看错误是什么?有没有查看错误控制台,看看有没有错误?
-
你在开发工具中检查网络和控制台怎么样?我相信你会找到一些线索,如果你找到任何线索,请发布它。并检查您的 PHP 错误日志。
-
在您的 onclick 中,您的函数调用末尾有一个分号...您是否尝试删除它?
-
另外,在您的 php 中,您可能想要添加一个“else”来返回 jquery 可以发出警报的内容。这样,如果找不到文件,它仍然可以工作。然后你至少会知道你是否走得那么远。我使用的另一个技巧是插入“die('here');”在 php 文件的最顶部,看看它是否有效,并继续在 php 文件中连续向下移动它,直到我找到导致问题的行......要抛出的错误。
标签: javascript php jquery ajax