Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 545
Hugolpz Avatar asked Jun 11 '26 10:06

Hugolpz


1 Answers

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');
});
like image 68
Daniel Imms Avatar answered Jun 12 '26 23:06

Daniel Imms