2013-07-11 23 views
22

की संपत्ति 'मालिक दस्तावेज़' नहीं पढ़ सकता है मैं अपनी साइट AJAXify करने के लिए खुद को AJAX पढ़ रहा हूं। मेरे टेम्पलेट में, मेरे पास कुछ JSON डेटा देखने के लिए निम्न जेएस कोड है, फिर डेटा को एक div में संलग्न करें।Uncaught TypeError: अपरिभाषित

function filter(type) { 
    $.getJSON(
    '/activity_stream/global-activity-stream/', 
    {xhr: "true", filter: type}, 
    function(data) { 
     $('.mainContent').children().remove(); 
     $(data).appendTo('.mainContent'); 
    }); 
    } 

    $(".btn").click(function() { 
    filter("recent"); 
    }); 
} 

मुझे लगता है कि मेरे विचार उचित JSON लौटा रहा है, लेकिन अब डेटा .mainContent div में जोड़ा नहीं जा रहा है।

Uncaught TypeError: Cannot read property 'ownerDocument' of undefined.

+2

आप JSON वापस मिल रहे हैं, तो बस डोम में जोड़कर काम करने के लिए नहीं जा रहा है। आप क्या होने की उम्मीद करते हैं? – Pointy

+0

मुझे लगता है कि मुझे उम्मीद है कि यह डेटा div में लोड करने के लिए ... मैं इसे कैसे प्राप्त कर सकता हूं? इस AJAXy सामान के लिए नया हूँ ... – Denny

+2

बस '$ ('मुख्य सामग्री') बदलें। बच्चे()। हटाएं(); $ (डेटा) .appendTo ('मुख्य सामग्री'); 'से' $ ('मुख्य सामग्री')। एचटीएमएल (डेटा); 'समस्या यह है कि, जब आप' संलग्न करते हैं ', jquery '$ (डेटा)' एक डोम नोड बनने के लिए, जो इस मामले में सबसे अधिक संभावना नहीं है – karthikr

उत्तर

26

सुनिश्चित करें कि आप jQuery के लिए एक चयनकर्ता गुजर रहे हैं, न कुछ डेटा के रूप बनाओ::

$('.my-selector') 
नहीं

:

$([ 'my-data' ]) 
12

मैं

यह इस त्रुटि देता है एक समान मुद्दा था। मैं jQuery.map का उपयोग कर रहा था लेकिन मैं jQuery.map (...) का उपयोग करना भूल गया। सामान्य सरणी के साथ काम करने के अंत में() प्राप्त करें।

0

$elms.each() के अंदर मेरे लिए एक ही समस्या आई।

क्योंकि:

  1. समारोह आप .each(Function) उजागर (कम से कम) दो तर्क को पारित; पहले सूचकांक और दूसरी सूची में वर्तमान तत्व में तत्व जा रहा है, और
  2. जा रहा है क्योंकि अन्य इसी तरह के पाशन तरीकों सूचकांक

तुम क्या करने के लिए परीक्षा हो सकती है इससे पहले कि सरणी में तत्व वर्तमान देना इस:

$elms.each((item) => $(item).addClass('wrong')); 

जब यह तुम क्या जरूरत है:

$elms.each((index, item) => $(item).addClass('wrong')); 
संबंधित मुद्दे