16

I'm new to jQuery 3. The following is a basic fiddle, working with previous versions of jQuery, but does not work with jQuery 3

$(function() {
    $.ajax({
        url: '/echo/json',
        type: 'GET',
        dataType: 'json',
        success: function(data) {
            console.log(data)
        }
    });
})

In the console, I get this error:

jquery-3.1.1.slim.min.js:2 jQuery.Deferred exception: $.ajax is not a function TypeError: $.ajax is not a function

jquery-3.1.1.slim.min.js:2 Uncaught TypeError: $.ajax is not a function(…)

Why ?

Community
  • 1
  • 1
Maxime Freschard
  • 1,066
  • 2
  • 15
  • 26

1 Answers1

30

jQuery 3 slim version doesn't support ajax.

According to the release docs,

Along with the regular version of jQuery that includes the ajax and effects modules, we’re releasing a “slim” version that excludes these modules. All in all, it excludes ajax, effects, and currently deprecated code.

To use .ajax method, simply use the full version one.

Here's the working fiddle

choz
  • 17,242
  • 4
  • 53
  • 73
  • Just to add to this: To replace jquery slim in the original fiddle, click External Resources on the menu on the left to remove and add jQuery resources. (It wasn't immediately obvious to me how to remove jQuery slim) – Andy F Dec 06 '16 at 09:38