В настоящее время я пытаюсь использовать AJAX в своем приложении через jRails. Я пытаюсь вернуть объект JSON из моего контроллера, а затем проанализировать его в моем Javascript. Я использую json2.js для анализа.
Вот код, который у меня сейчас есть:
function getSomething()
{
$.ajax({
type: "GET",
url: "map/testjson",
success: function(data) {
var myData = JSON.parse(data[0]);
window.alert(myData.login);
}
});
}
и в контроллере:
class Map::MapController < ApplicationController
def index
end
def testjson
@message = User.find(:all)
ActiveRecord::Base.include_root_in_json = false
respond_to do |w|
w.json { render :json => @message.to_json }
end
end
end
window.alert просто говорит «неопределено» (без тиков).
Однако, если я изменю javascript на window.alert (data) (необработанный объект, возвращаемый контроллером), я получу:
[{ "соль": "aSalt", "имя": "",
"Created_at": "2010-03-15T02: 34: 25Z", "remember_token_expires_at":
нуль "crypted_password": "aPassword",
"Updated_at": "2010-03-15T02: 34: 25Z", "идентификатор": 1, "remember_token": нулевой,
"Войти": "zgwrig2", "электронная почта": "zach@zach.com"}]
Это выглядит как массив размера 1, если я смотрю на него правильно, но я попробовал почти каждую комбинацию JSON.parse для объекта данных, о котором я могу думать, и, похоже, ничего не работает.
Есть идеи, что я здесь делаю не так?
EDIT
Кажется, это работает нормально, если в таблице Users несколько строк.