Php jQuery ajax和append-内容太大?
我正在编写一个ajax搜索页面,其中包含一个搜索框和“选项卡”;其思想是用户输入查询,更改选项卡,使用新选项提交查询,并在下面加载结果 我遇到了一个奇怪的问题,返回的数据(“内容”)的长度(?)似乎阻止我运行任何额外的JS 如下所示,#resultsArea的设计目的是当用户在选项卡之间切换时,其中包含多组结果,因此如果查询相同,它将显示缓存的结果,而不是发送另一个不必要的db查询 “Content”是返回的数据——似乎只要我使用它(无论是在警报中,还是打印在页面上),我就不能再执行javascript了。如果我从.append函数中删除+content+,将触发该行后面的警报。这是故意的吗 “内容”包含相当大的数据量,包括格式和格式,所以我想知道这是否是问题所在。但是,这一切都可以正常工作并显示!我只是想添加一些额外的JS,以便将广告加载到渲染结果中,但这让我感到困惑Php jQuery ajax和append-内容太大?,php,javascript,jquery,Php,Javascript,Jquery,我正在编写一个ajax搜索页面,其中包含一个搜索框和“选项卡”;其思想是用户输入查询,更改选项卡,使用新选项提交查询,并在下面加载结果 我遇到了一个奇怪的问题,返回的数据(“内容”)的长度(?)似乎阻止我运行任何额外的JS 如下所示,#resultsArea的设计目的是当用户在选项卡之间切换时,其中包含多组结果,因此如果查询相同,它将显示缓存的结果,而不是发送另一个不必要的db查询 “Content”是返回的数据——似乎只要我使用它(无论是在警报中,还是打印在页面上),我就不能再执行javasc
$.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');
}
});
$.ajax({
键入:“POST”,
url:formUrl,
数据:formData,
数据类型:“html”,
成功:功能(内容){
$('resultsBit')。slideUp(200);
if(查询!=prevQuery)
{
$('#结果'+flavor).remove();
}
警惕(“我会开火”);
$('#resultsArea')。追加(''+内容+'');
警惕(“我不会开枪”);
}
});
提前感谢您的指点
如果我从.append()
函数中删除+content+
,将触发该行后面的警报。这是故意的吗
这给了我们一个很大的线索来解释发生了什么;这意味着content
中的某些内容正在导致错误(实际上会引发异常),并且可以从控制台看到此错误
如果没有控制台,您可以将代码包装在try{}catch
块中,如下所示:
try {
$('#resultsArea').append('<div id="results_'+flavour+'" style="display:true;">'+content+'</div>');
} catch (e) {
alert('Oh no, error: ' + e);
}
试试看{
$('#resultsArea')。追加(''+内容+'');
}捕获(e){
警报(“哦,不,错误:”+e);
}
这应该会给你一个关于
内容有什么问题的线索。
如果堆栈溢出是一个指标,那么在不破坏缩进的情况下复制粘贴代码是非常困难的<代码>:P哈哈哈。。。我的缩进绝对没有保留!您是否收到超时错误?如果内容包含Javascript或任何破坏附加的内容,则会出现此行为。在ajax文章之后,你在chrome inspector/firebug中看到了什么?你看到任何错误了吗?TJ-这就是问题所在,谢谢!有一个对未定义函数的错误引用。。。我以前注意到过它,但忽略了它,因为我习惯于JS在出现最轻微的语法错误时完全停顿下来。内容的正确呈现让我感到厌烦。再次感谢!