繁体   English   中英

jquery.getJSON的问题打印为未定义或状态为未定义

[英]Trouble with jquery.getJSON prints as undefined or states the function is undefined

这变得越来越令人沮丧,我认为这样做会容易得多,我想要做的只是使用我作为API创建的Rails应用,我似乎无法使其正常工作,所以我创建了一个一个快速的小型测试应用程序,它消除了任何可能真正复杂的事情,我知道非常基本的Java脚本,并且我的经验与使用Jquery进行各种效果等相去甚远。

我正在使用rails-api gem,在此测试中所做的全部只是运行

Rails g scaffold user name

没有视图或类似的东西被创建,当您导航到用户路径时,您将看到一个包含用户的json数组(当前只有字段会被创建,更新,名称和ID)

这是我的代码。

$(document).ready(function(){


$('#new_user').submit(function(e) {
  $.post('/users', $(this).serialize());
  this.reset();
  e.preventDefault();
});

$.getJSON('/users', function(users) {
  $.each(users, function(user) { 
    var output = "<li>" + user.name + "</li>";
    $('#content ul').append(output);
 });
});

});

.getJson指向的json看起来像什么

[{"user":{"created_at":"2013-01-23T02:30:42Z","id":1,"name":"test","updated_at":"2013-01-23T02:30:42Z"}},
{"user":{"created_at":"2013-01-23T02:31:49Z","id":2,"name":"test","updated_at":"2013-01-23T02:31:49Z"}}]

发布工作正常,但是当运行时,该字段打印未定义,以前如果我放user.user.name,它将正常工作,显然,这似乎不是最佳途径。

有什么我想念的东西吗?还是比我原先要复杂的多,我想为我的应用程序创建API客户端真正需要的就是像我在这里解析json并将其简单地输出到div。

您需要使用user.user.name $.each遍历数组,但每个数组都有一个带有user键的对象, name键位于其中。

http://jsfiddle.net/DC5Gg/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM