2013-04-18 6 views
5

नवीनतम jQuery (1.9.0) का उपयोग करना, मैं करने के लिए के रूप में उलझन में क्यों इस कोड काम नहीं कर रहा हूँ:jQuery अजाक्स डाटा सिंटेक्स त्रुटि हो जाओ, गैर मान्यता प्राप्त अभिव्यक्ति:

$.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(); 

सांत्वना देखते समय एक क्लिक करने के बाद श्रेणी लिंक के, जीईटी पूरी प्रतिक्रिया को इसकी प्रतिक्रिया में पुनर्प्राप्त करता है, लेकिन उसके बाद सिंटैक्स त्रुटि, अपरिचित अभिव्यक्ति: (सभी HTML को पुनर्प्राप्त पृष्ठ से सूचीबद्ध करता है) के बाद होता है। तो, $.fn.getFaqList में कुछ गलत हो रहा है, संभवतः $(data) का उपयोग?

क्या कुछ स्पष्ट है कि मैं गलत कर रहा हूं? किसी भी तरह की सहायता का स्वागत किया जाएगा। मैं AJAX सामान के साथ बहुत समझदार नहीं हूँ।

+0

एक .find ('एक') क्या – karthikr

+5

आप 1.8+ आप '$ कोशिश कर सकते हैं कर रहे हैं तो ($। ParseHTML (डेटा))। Find' – Musa

+0

धन्यवाद मूसा! उसने ऐसा किया! मैं इसे अपने प्रश्न में जोड़ दूंगा। – beefchimi

उत्तर

10

धन्यवाद। मैं सही जवाब के रूप में आप इनाम ... लेकिन मुझे लगता है मैं एक टिप्पणी :(

को ऐसा नहीं कर सकते मैं बदलने के लिए था:

$(data).find 
इस के साथ

:

$($.parseHTML(data)).find 

मैंने अन्य स्टैक ओवरफ्लो उत्तरों के आधार पर पहले कुछ ऐसा करने की कोशिश की थी, लेकिन मैं इसे ठीक से निष्पादित नहीं कर रहा था इसलिए मुझे त्रुटि मिल रही थी। किसी भी व्यक्ति को इस मुद्दे पर अधिक स्पष्टता की आवश्यकता है, इन उत्तरों में मदद मिल सकती है:

JQuery unrecognized expression on Ajax response

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

+0

'$ ($। ParseHTML (डेटा))। ढूंढें 'मेरे लिए काम किया ... –

+0

यह बहुत अच्छा काम करता है! –

0

सिंटेक्स त्रुटि यहाँ हो सकता है:

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

कौन सा पढ़ना चाहिए: इस ओर इशारा करते हुए के लिए मूसा को

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

दोनों वैध ऑपरेटरों हैं। वे सिर्फ अलग-अलग चीजें करते हैं। – shishirmk

संबंधित मुद्दे

 संबंधित मुद्दे