$.ajax() 和“未捕获的 ReferenceError:未定义数据”

Posted

技术标签:

【中文标题】$.ajax() 和“未捕获的 ReferenceError:未定义数据”【英文标题】:$.ajax() and "Uncaught ReferenceError: data is not defined" 【发布时间】:2013-03-22 12:42:51 【问题描述】:

我尝试了几种使用 $.getJSON 和 $.ajax() overthere 获取 .json 文件和数据的方法

我的 JS 代码 n⁰2 失败:

$.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');
);

在 Chrome 控制台中,消息错误是

"Uncaught ReferenceError: data is not defined"

参考行:

  data: data,

出了什么问题?怎么办?


编辑:一切都在客户端完成。

【问题讨论】:

您是否有一个变量来存储您要发送到服务器的数据?它试图GET 以查询字符串?something=blah 的形式附加一些数据 您是否有任何名称为data 的变量?如果是这样,请发布该变量的数据 【参考方案1】:

问题是因为你没有定义变量数据引起的,所以尝试删除data: data 行,看起来你只是得到一个通常不会接受查询字符串的javascript文件:

$.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');
);

【讨论】:

它对你有用吗?它不适合我。我正在挖掘你的想法,可能与我的代码 1、代码 3、代码 4 有一些冲突。 好的,我以前的代码隐藏了第二个错误。根据我的json数据将linesuccess: success,改为success : 1,。然后你的答案有效:)

以上是关于$.ajax() 和“未捕获的 ReferenceError:未定义数据”的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 JSONP 的 AJAX 未捕获的 SyntaxError 和 CORS 错误

jQuery $.ajax 和 jQuery UI 对话框:未捕获的 TypeError:非法调用?

在 Chrome 中超时 Ext.Ajax.request 后未捕获的异常

ajax 中的错误“未捕获的 ReferenceError:未定义 responseParsedJSON”?

数据表:未捕获的类型错误:无法读取未定义的属性“长度”

vue-resource:在拦截 ajax 错误时捕获“未捕获(在承诺中)”