我正在编写一个包含搜索框和“选项卡”的 ajax 搜索页面;这个想法是用户输入查询,更改选项卡,使用新选项提交查询,并在下面加载结果。
我有一个奇怪的问题,返回的数据('内容')的长度(?)似乎阻止我运行任何额外的 JS。
见下文,#resultsArea 旨在在用户在选项卡之间滑动时包含多组结果,因此如果查询相同,它将显示缓存的结果,而不是发送另一个不必要的数据库查询。
“内容”是返回的数据——似乎一旦我使用它(无论是在警报中,还是在页面上打印),我就无法再执行任何 javascript。如果我从 .append 函数中删除 +content+ ,则会触发该行后面的警报。这是设计使然吗?
“内容”包含大量数据 - s 和格式的负载,所以我想知道这是否是问题所在。然而,这一切都有效并按原样显示!我只想添加一些额外的 JS,这样我就可以将广告加载到呈现的结果中,但这让我很困惑。
$.ajax({
type: 'POST',
url: formUrl,
data: formData,
dataType: 'html',
success: function(content) {
$('#resultsBit').slideUp(200);
if (query!=prevQuery)
{
$('#results_'+flavour).remove();
}
alert('I will fire');
$('#resultsArea').append('<div id="results_'+flavour+'" style="display:true;">'+content+'</div>');
alert('I will not fire');
}
});
在此先感谢您的任何指点。