我有一個問題,我的代碼,但我找不到爲什麼它不工作。onclick,刪除沒有定義
我正在用AJAX創建文件刪除鏈接。
我知道我的刪除頁面正在工作,但我的JavaScript沒有去它刪除文件。
這是我的代碼的一部分。
formatoverzicht.php
<script type="text/javascript" src="/website/libraries/jquery.js">
function deleteFileAjax(filename) {
scriptitem = document.createElement('script');
scriptitem.type = 'text/javascript';
scriptitem.src = 'ajax.php?filename=' + filename;
scriptitem.id = 'ajax';
document.body.appendChild(scriptitem);
setTimeout('document.body.removeChild(document.getElementById("ajax"))', 500);
}
</script>
<?php
$results = $db->query("SELECT * FROM format");
echo "<table border= 1><tr><td>Bestands naam</td><td>Groote</td><td>Laatst aangepast</td> <td>Download</td><td>Verwijderen</td></tr>";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$filelocation = "uploads/". $file;
$filesize2 = filesize($filelocation);
if($filesize2 < '999'){
$size = "Byte";
}else if($filesize2 > '1000' && $filesize2 < '999999'){
$size = "KB";
$filesize = $filesize2/1000;
}else if($filesize2 > '1000000' && $filesize2 < '999999999'){
$size = "MB";
$filesize = $filesize2/1000000;
}else if($filesize2 > '1000000000' && $filesize2 < '999999999999'){
$size = "GB";
$filesize = $filesize2/1000000000;
}
$filesizeround = number_format((float)$filesize, 2, ',','');
if($file != '.' && $file != '..' && $file != "desktop.ini"){
$lastedit = date("j-n-o H:i", filemtime($filelocation));
$fileplace = "uploads/" .$file;
echo "<tr><td>".$file."</td><td>".$filesizeround. " " .$size."</td> <td>". $lastedit ."</td><td><a href='$fileplace' download='$file' '>Download</a></td><td>";
?> <button onclick="deleteFileAjax(<?php echo $file ? >)">Delete</button></td></tr><?php
}
}
closedir($dh);
}
}
?>
和ajax.php
<?php
if (isset($_GET['filename'])) {
if (unlink(htmlentities("uploads/". $_GET['filename']))) {
echo "Great success!";
}
}
?>
我希望有人能幫助我的問題。
我想要的是當你點擊鏈接/按鈕時文件被刪除而不刷新。如果這是一個確認或與外面並不重要。
感謝您的幫助,至少。
刪除與一個GET請求是壞人壞事餿主意。 – epascarello
我不明白。那麼「DELETE未定義」如何相關? –
我和@OfirBaruch在同一條船上,我沒有看到任何名爲「delete」的變量 –