我有一个ajax调用,它从Coldfusion CFC方法请求数据并在div中显示数据。还有一个删除此数据的链接,该数据使用相同的CFC但要删除的方法不同。两种方法都可以独立工作。我似乎无法弄清楚的是如何在函数中封装调用并在删除成功后刷新div。这是代码:
ajax电话
var caseid = <cfoutput>'#URL.ID#'</cfoutput>;
var siteurl = <cfoutput>'#APPLICATION.url#'</cfoutput>;
var html = "";
function assetsPost() {
$.ajax({
cache: false,
type:'GET',
url:'cfc/cfc_Asset.cfc?method=qAsset&returnformat=json',
dataType: "json",
data: {
assetgrp_id: caseid,
},
success:function(data) {
if(data) { // DO SOMETHING
jQuery.each(data, function(i, val) {
$('#picoutputannotation').html(data[i].annotation);
var asset_id = data[i].value;
var img = siteurl + 'assets/images/thumbs_check2/' + data[i].thumb;
var removeimg = siteurl + 'assets/images/remove.png';
var annotation = data[i].annotation;
html += "<div class='block-pics'>";
html += "<img src='" + img + "'>";
html += "<div class='note'>";
html += annotation;
html += "</div>";
html += "<div class='block-pics-remove'>";
html += "<a class='delete-asset' id='" + asset_id + "'><img src='" + removeimg + "'></a>";
html += "</div>";
html += "<div class='bot'></div>";
html += "</div>";
});
$('#picoutput').html( html );
} else { // DO SOMETHING
}
}
});
}
assetsPost();
这是删除脚本:
$(document).on("click", ".delete-asset", function() {
var del_id = $(this).attr('id');
$.ajax({
type:'GET',
url:'cfc/cfc_Asset.cfc?method=DeleteAsset&returnformat=json',
dataType: "json",
data: {
delete_id: del_id,
},
success:function(data) {
if(data) { // DO SOMETHING
$('#picoutput').empty();
{assetsPost()};
$('#picoutput').fadeIn('fast');
} else { // DO SOMETHING
}
}
});
});
这里是html:
<div class="grid_6">
<div id="picoutput"></div>
</div>
</div>
答案 0 :(得分:3)
只需通过指定空字符串将html设置为空。
success:function(data)
{
$('#picoutput').html("");
}
答案 1 :(得分:0)
以下是我将采取的故障排除步骤:
$('#picoutput').html("");
替换为
$('#picoutput').empty();
{//assetsPost()};
。验证
内容正在正确删除function assetsPost() { alert("Assets Post"); $.ajax({ }); }
验证此功能仅被调用一次。
alert(html) $('#picoutput').html( html );
验证从cfc调用返回的html是否包含您的想法。