I get this error whether I put the jQuery $.ajax call in a $(document).ready(function() {
or not. This is on a ASP.NET MVC .cshtml file.
On a server on the local network with IE 11, it can also be a compatibility view issue.
See my answer to this question for more details: '$' is undefined. How to use jQuery 2.0.1 in empty ASP.NET MVC 4 project?
Make sure you reference JQuery first. Something along the lines of (using MS CDN):
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: '/api/courses',
success: function(data) {
var list = $('#courses');
for (var i = 0; i < data.length; i++) {
var course = data[i];
list.append('<li id="' + course.id + '">' + course.name + '</li>');
}
}
});
});
</script>