【发布时间】:2012-12-03 18:32:05
【问题描述】:
我正在编写一个包含搜索框和“选项卡”的 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');
}
});
提前感谢您的任何指点。
【问题讨论】:
-
如果堆栈溢出是任何指标,复制粘贴代码而不破坏缩进是非常困难的。
:P -
哈哈……我的缩进肯定没保留!
-
您是否遇到超时错误?
-
如果内容包含 Javascript 或任何破坏附加的内容,则此行为是预期的。在 ajax 发布之后,您在 chrome 检查器/firebug 中看到了什么?您看到任何错误吗?
-
TJ - 这就是问题所在,谢谢!有一个对未定义函数的杂散引用......我之前注意到它,但忽略了它,因为我已经习惯了 JS 完全研磨到最轻微的语法错误停止。内容渲染正确地让我失望。再次感谢!
标签: php javascript jquery