2012-12-03 7 views
3

검색 창과 "탭"이 포함 된 ajax 검색 페이지를 작성하고 있습니다. 사용자가 쿼리를 입력하고 탭을 변경하며 쿼리가 새 옵션과 함께 제출되고 결과가 아래에로드된다는 아이디어가 있습니다.jQuery 아약스 및 추가 - 콘텐츠가 너무 큽니까?

반환되는 데이터 ('content')의 길이 (?)가 여분의 JS 실행을 멈추는 이상한 문제가 있습니다.

아래를 참조하십시오. #results 영역은 사용자가 탭을 쓸어 넘길 때 여러 결과 집합을 포함하도록 설계되었으므로 다른 불필요한 db 쿼리를 보내는 대신 쿼리가 동일하면 캐시 된 결과가 표시됩니다.

"콘텐츠"는 반환 된 데이터이며, 경고를 표시했는지 또는 페이지에 인쇄했는지 여부와 상관없이 사용하면 더 이상 자바 스크립트를 실행할 수 없습니다. .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'); 

    } 
}); 

미리 알려 주셔서 감사합니다.

+0

뭐가 잘못 됐는지에 관해서는 당신에게 실마리를 제공해야합니다

try { $('#resultsArea').append('<div id="results_'+flavour+'" style="display:true;">'+content+'</div>'); } catch (e) { alert('Oh no, error: ' + e); } 

들여 쓰기를 망치지 않고 코드를 붙여 넣는 것은 매우 어렵습니다. ': P' –

+0

하하 ... 내 들여 쓰기가 확실히 보존되지 않았습니다! – Mhatma

+0

시간 초과 오류가 발생합니까? –

답변

0

.append() 함수에서 +content+을 제거하면 해당 줄의 경고가 발생합니다. 디자인에 의한 것인가?

이것은 무슨 일이 일어나고 있는지에 대해 매우 큰 단서를 제공합니다. 즉, content 내부에있는 어떤 것이 오류를 일으키는 것을 의미합니다 (실제로 예외가 발생 함).이 오류는 콘솔에서 볼 수 있습니다. 콘솔없이

이 같은 try { } catch 블록 내부에 코드를 래핑 수 : 스택 오버플로 어떤 표시, 저작권법과 인 경우 content.

관련 문제