$ .ajax成功内的$ .get非法调用

时间:2015-06-06 21:13:17

标签: jquery ajax

如果此路由返回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');
  }
});

1 个答案:

答案 0 :(得分:2)

$.get唯一的多参数语法是jQuery.get( url [, data ] [, success ] [, dataType ] )
其中data可以是一个简单的对象,但是你不能发送一个DOM元素或一个jQuery对象

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

请注意,您正在发送$('#articles'),这是一个围绕DOM元素的jQuery包装器,并且无法发送,因此是非法调用

您不是很清楚自己实际上要做什么,但如果您尝试插入请求的内容,那就更像是

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