这变得相当令人沮丧,我认为这将更容易做,所有我想要做的是使用我创建的作为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并简单地输出它到divs。
答案 0 :(得分:1)
您需要使用user.user.name
。 $.each
遍历数组,但每个都有一个带有user
键的对象,name
键位于其中。