Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery ajax和append-内容太大?_Php_Javascript_Jquery - Fatal编程技术网

Php jQuery ajax和append-内容太大?

Php jQuery ajax和append-内容太大?,php,javascript,jquery,Php,Javascript,Jquery,我正在编写一个ajax搜索页面,其中包含一个搜索框和“选项卡”;其思想是用户输入查询,更改选项卡,使用新选项提交查询,并在下面加载结果 我遇到了一个奇怪的问题,返回的数据(“内容”)的长度(?)似乎阻止我运行任何额外的JS 如下所示,#resultsArea的设计目的是当用户在选项卡之间切换时,其中包含多组结果,因此如果查询相同,它将显示缓存的结果,而不是发送另一个不必要的db查询 “Content”是返回的数据——似乎只要我使用它(无论是在警报中,还是打印在页面上),我就不能再执行javasc

我正在编写一个ajax搜索页面,其中包含一个搜索框和“选项卡”;其思想是用户输入查询,更改选项卡,使用新选项提交查询,并在下面加载结果

我遇到了一个奇怪的问题,返回的数据(“内容”)的长度(?)似乎阻止我运行任何额外的JS

如下所示,#resultsArea的设计目的是当用户在选项卡之间切换时,其中包含多组结果,因此如果查询相同,它将显示缓存的结果,而不是发送另一个不必要的db查询

“Content”是返回的数据——似乎只要我使用它(无论是在警报中,还是打印在页面上),我就不能再执行javascript了。如果我从.append函数中删除+content+,将触发该行后面的警报。这是故意的吗

“内容”包含相当大的数据量,包括格式和格式,所以我想知道这是否是问题所在。但是,这一切都可以正常工作并显示!我只是想添加一些额外的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');

    }
});
$.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在出现最轻微的语法错误时完全停顿下来。内容的正确呈现让我感到厌烦。再次感谢!