在php中使用ajax删除记录而不刷新页面
Delete record without a page refresh with ajax in php
我正在开发Cakephp2.x,但我认为问题与Cakephp无关。我想删除一个不刷新页面的文件。
HTML/PHP:
<div class = "success" style="display:none;">Deleted successfully </div>
<div class = "error" style="display:none;">Error </div>
<a href="javascript:void(0)" class="button icon-trash" title = "delete" onclick="openConfirm('<?php echo $filename; ?>','<?php echo $idImage; ?>');"></a>
JavaScript:
function openConfirm(filename, idImage) {
$.modal.confirm('Are you sure you want to delete the file?', function () {
deleteFile(filename, idImage);
}, function () {
});
};
function deleteFile(filename, idImage) {
var filename = filename;
$.ajax({
type: "POST",
data: {
idImage: idImage
},
url: "http://localhost/bugshot/deleteFile/" + filename,
success: function (data) {
if (data == 1) {
$(".success").fadeIn(500).delay(2000).fadeOut(500);
} else {
$(".error").fadeIn(500).delay(2000).fadeOut(500);
}
},
error: function () {
alert("error");
}
});
}
foreach循环中的我的图像该代码显示图像
foreach($file作为$files):?>
<?php $downloadUrl = array('controller' => 'bugshot', 'action' => 'downloadImages', $files['Image']['filename'], '?' => array('download' => true));
$imageUrl = array('controller' => 'bugshot', 'action' => 'downloadImages', $files['Image']['filename']);
?>
<?php echo $this->Html->link(
$this->Html->image($imageUrl),
$downloadUrl,
array('class' => 'frame', 'escape' => false)
);?>
删除链接
<a href="javascript:void(0)" class="button icon-trash" title = "deleteImage" onclick="openConfirm('<?php echo $files['Image']['filename']; ?>','<?php echo $files['Image']['idImage'];; ?>');"></a>
除了删除图像或记录后,记录/图像仍显示在页面上,直到刷新为止,代码的工作效果很好。我该如何解决这个问题?
您需要使用javascript将其删除。
$.ajax({
...
success: function (data) {
if (data == 1) {
$(".success").fadeIn(500).delay(2000).fadeOut(500);
$('img[src="/pathToImg/' + filename + '"]').remove(); // Remove by src
// $('#' + idImage).remove(); // Remove by ID.
} else {
$(".error").fadeIn(500).delay(2000).fadeOut(500);
}
}
...
});
注意:var filename = filename;
没有任何意义,因为您正在将文件名参数分配给具有相同名称的新变量。你可以直接删除它。
相关文章:
- 在本地使用浏览器历史记录时刷新页面后数据消失
- sails.js:新创建的记录在刷新之前不会填充到页面上
- 历史记录.js和手动刷新页面
- 如何刷新历史记录页面.状态更改(单击后退按钮)
- 在php中使用ajax删除记录而不刷新页面
- 删除记录并刷新Won't始终如一地工作
- 使用HTML5历史记录时如何处理页面刷新
- firebase存储中的更新记录只有在刷新页面后才可见
- 在不刷新的情况下向数据库中添加记录
- Jquery + ajax.我的javascript函数有什么问题?删除记录,添加记录而不刷新
- 显示刷新后所有记录的数据表
- 是否有一个xmpp客户端可以在页面刷新期间保持聊天记录?
- 更新记录而不刷新
- Dynamics CRM 2016在线-使用对话框后刷新记录
- 套接字.IO node.js,如何记录连接时间,避免或考虑页面刷新/多个套接字
- 如何在不刷新页面的情况下在添加记录后刷新jTable
- 编辑记录需要刷新页面
- 使用ajax显示数据库记录而不刷新页面
- ExtJS 4-更新/刷新单个记录
- 在 ie9 及更低版本中使用历史记录.js页面刷新将返回到主页