【发布时间】:2015-04-05 13:11:47
【问题描述】:
我创建了一个画廊,用户可以在其中通过 ajax 删除相册,我的问题是,当我单击“删除”按钮第一次工作时,一切运行正常,文件夹和图片被删除,但是当我转到第二张专辑并尝试删除它,ajax 给了我成功但没有任何内容被删除!错误:函数也没有给我一个错误(在控制台中)ajax像正常一样运行......
这里是触发ajax的按钮(表单)
<form action='' method='post'>
<input type='hidden' id='album' name='album' value='$albid'>
<center><input type="submit" class="javagalleryAlbumDeleteBtn" name="createAlbum" value="Delete Album"></center>
</form>
这里是包含ajax的js文件
// CHECK THAT DOCUMENT IS READY
$(document).ready(function() {
// This is the button we are looking for.
$('.javagalleryAlbumDeleteBtn').click(function() {
// Get values from form
var album = $("#album").val();
// Put the vars in a string
var dataString = 'album='+album;
$.ajax({
type: "POST",
url: "../gallery/deleteAlbum.php",
data: dataString,
cache: false,
success: function(data){console.log(data);},
error: function(jqXHR, textStatus, errorThrown) {console.log(textStatus, errorThrown););
}// End success
}); // End ajax
return false; // avoid to execute the actual submit of the form.
}); // End #login click
}); // End document ready
这里是 deleteAlbum.php 文件
$getalbumid = $_POST['album'];
$sql = mysql_query("SELECT gallery_address FROM users_galleries WHERE gallery_id = '$getalbumid'") or die(mysql_error());
list($galaddress) = mysql_fetch_row($sql);
if(mysql_num_rows($sql)){
// delete the pictures in the DB
mysql_query("DELETE FROM pictures WHERE picalbum = '$getalbumid' AND picowner = " . $_SESSION['id'] . "")or die(mysql_error());
// delete the album from the DB
mysql_query("DELETE FROM users_galleries WHERE gallery_id = '$getalbumid' AND gallery_userid = " . $_SESSION['id'] . " LIMIT 1")or die(mysql_error());
// Function that deletes all content in folder and the folder
folderDelete($galaddress);
} // end delete
【问题讨论】:
-
让你的 dataString 像这样 dataString = 'album:album';
-
感谢提醒(我现在已经改了),但并没有真正解决我的问题:/