現在、jRails を介してアプリケーションで AJAX を使用しようとしています。コントローラーから 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) (コントローラーによって返される生のオブジェクト) に変更すると、次のようになります。
[{"salt":"aSalt","name":"", "created_at":"2010-03-15T02:34:25Z","remember_token_expires_at": null,"crypted_password":"aPassword", "updated_at" :"2010-03-15T02:34:25Z","id":1,"remember_token":null, "login":"zgwrig2","email":"zach@zach.com"}]
正しく見れば、これはサイズ 1 の配列のように見えますが、考えられるデータ オブジェクトで JSON.parse のほぼすべての組み合わせを試しましたが、何も機能していないようです。
ここで私が間違っていることについてのアイデアはありますか?
編集 Users テーブルに複数の行がある場合、これはうまくいくようです。