【问题标题】:jQuery Ajax Get Data Syntax error, unrecognized expression:jQuery Ajax 获取数据语法错误,无法识别的表达式:
【发布时间】:2013-04-18 23:40:22
【问题描述】:

使用最新的 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();

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

有什么明显的我做错了吗?任何帮助将不胜感激。我对 AJAX 的东西不是很精通。

【问题讨论】:

  • 如果你使用的是 1.8+,你可以试试$($.parseHTML(data)).find
  • 谢谢穆萨!做到了!我会将这个添加到我的问题中。

标签: javascript jquery ajax http-get


【解决方案1】:

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

我不得不更换:

$(data).find

用这个:

$($.parseHTML(data)).find

我之前根据其他 Stackoverflow 答案尝试过类似的方法,但我没有正确执行它,所以我一直收到错误消息。对于需要更清楚地了解该问题的任何人,这些答案可能会有所帮助:

JQuery unrecognized expression on Ajax response

jQuery + client-side template = "Syntax error, unrecognized expression"

【讨论】:

    【解决方案2】:

    语法错误可能在这里:

    if ( typeof currentFaqCategories !== 'undefined') {
    

    应改为:

    if ( typeof currentFaqCategories != 'undefined') {
    

    【讨论】:

    • 两者都是有效的运算符。他们只是做不同的事情。
    猜你喜欢
    • 2017-02-12
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多