2015-06-06 4 views
1

Попытка получить некоторый контент, если этот маршрут возвращает true, однако я получаю Uncaught TypeError: Illegal invocation для строки $.get - кто-нибудь узнает, почему?

$.ajax({ 
    url: "/route_to_check_if_item_exists/", 
    type: "GET", 
    success: function(){ 
    console.log('Item exists! Now fetch it:'); 

    $.get($('#articles').data('url'), { 
     after: $('#articles') 
    }); 
    }, 
    error: function() { 
    console.log('Uh oh'); 
    } 
}); 
+0

Что именно означает 'after: $ ('# article')' предполагается? –

ответ

2

только несколько аргументов Синтаксис $.get является jQuery.get(url [, data ] [, success ] [, dataType ])
где data может быть простой объект, однако вы не можете отправить DOM элемент, или объект JQuery

$.get($('#articles').data('url'), { 
    after: $('#articles') 
}); 

Заметьте, что вы отправляете $('#articles'), который является оберткой jQuery вокруг элемента DOM, и который не может быть отправлен, следовательно, незаконный вызов

Не совсем понятно, что вы на самом деле пытаюсь это сделать, но если вы пытаетесь вставить содержимое запроса, это будет больше похоже на

$.get($('#articles').data('url'), function(data) { 
    $('#articles').after(data) 
}); 
+0

Большое спасибо, ребята! –

Смежные вопросы