jQuery Ajax获取数据语法错误,无法识别的表达式:

bee*_*imi 5 javascript ajax jquery http-get

使用最新的jQuery(1.9.0),我很困惑为什么这段代码不起作用:

$.testAjaxFilter = function() {

    var base = this;

    // get faq categories
    var currentFaqCategories = $('#category-list ul li a');

    // loop through each faq category link and bind a click event to each
    if ( typeof currentFaqCategories !== 'undefined') {

        $.each(currentFaqCategories, function(index, category) {

            $(category).click( function(e) {
                $(e.target).getFaqList();
                return false;
            });

        });

    }

    // GET faq list elements from category link
    $.fn.getFaqList = function() {

        $.get($(this[0]).attr('href'), function(data) {

            base.addFaqSectionToPage( $(data).find('section.faq-page #content-column') );

        });

    };

    // add new faq section to current page
    this.addFaqSectionToPage = function(faqSection) {

        // remove old faq section
        var currentFaqSection = $('section.faq-page #content-column');

        currentFaqSection.empty();
        currentFaqSection.append(faqSection);

    };

};

$.testAjaxFilter();
Run Code Online (Sandbox Code Playgroud)

在查看控制台时,在单击其中一个类别链接时,GET会在其响应中检索整个页面,但随后会出现语法错误,无法识别的表达式:(列出检索到的页面中的所有HTML).所以,有些东西出了问题$.fn.getFaqList,可能是使用$(data)

有什么明显的我做错了吗?任何帮助将不胜感激.我对AJAX的东西不太了解.

bee*_*imi 10

感谢Musa指出这一点.我会奖励你作为正确答案...但我想我不能这样做评论:(

我不得不替换:

$(data).find
Run Code Online (Sandbox Code Playgroud)

有了这个:

$($.parseHTML(data)).find
Run Code Online (Sandbox Code Playgroud)

我之前尝试过类似的东西,基于其他Stackoverflow的答案,但我没有正确执行它,所以我不断收到错误.对于需要更清晰解决问题的人来说,这些答案可能有所帮助:

JQuery在Ajax响应上无法识别表达式

jQuery +客户端模板="语法错误,无法识别的表达式"