$.ajax() and "Uncaught ReferenceError: data is not defined"

ajax, getjson, javascript, jquery, json

Solution

The problem is being caused because you didn't define the variable data, so try removing the `data: data` line, it looks like you're just getting a JavaScript file which wouldn't normally take a query string:

$.ajax({
  type: "GET",
  url: 'js/main.js',
  success: success,
  }).done(function ( data ) {
  var items = [];

  $.each(data.tata.entities.q142.labels.fr.value, function(key, val) {
    items.push('<li id="' + key + '">Test 2:' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});

Problem

I tried out several ways to get .json file and data using $.getJSON and $.ajax() overthere My JS code n⁰2 fails : ``` $.ajax({ type: "GET", url: 'js/main.js', data: data, success: 1, }).done(function ( data ) { var items = []; $.each(data.tata.entities.q142.labels.fr.value, function(key, val) { items.push('<li id="' + key + '">Test 2:' + val + '</li>'); }); $('<ul/>', { 'class': 'my-new-list', html: items.join('') }).appendTo('body'); }); ``` In Chrome console, the message error is : ``` "Uncaught ReferenceError: data is not defined" ``` Refering to the line : ``` data: data, ``` What is going wrong ? What to do ? Edit: all is done client side.

Original source