0

这变得非常令人沮丧,我认为这会更容易做,我想做的就是使用我创建的 Rails 应用程序作为 API,我似乎无法让它工作,所以我创建了一个快速的小测试应用程序来消除任何可能真的很复杂的事情,我知道非常基本的 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。

4

1 回答 1

1

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

http://jsfiddle.net/DC5Gg/

于 2013-01-23T03:26:01.220 回答