【问题标题】:Unable to Parse JSON Response from Rails Controller in Javascript无法在 JavaScript 中解析来自 Rails 控制器的 JSON 响应
【发布时间】:2014-06-03 19:43:20
【问题描述】:

我正在使用 Rails 4 应用程序并使用 best_in_place AJAX 更新用户的地址字段。

AJAX 调用成功运行,并且在我的控制器中的更新操作中,我有一个 respond_to 块,我想吐出用户 ID、新的更新地址和一个布尔值,用于判断地址是否有效。

respond_to do |format|
  format.json { render :json => { :id => @user.id, :address => @user.address, :address_valid => @user.address_valid } }
end

在我的 Javascript 中,我正在尝试解析该 JSON。我已经尝试过 ['id'] 和点表示法。这是我在成功更新后侦听 JSON 的 JS 函数:

$('.best_in_place').bind("ajax:success", function (response, data) {
    console.log(response)
    console.log(data)
    console.log(typeof data)
  });
});

控制台可以预见地记录响应以及来自控制器的 JSON:

jQuery.Event {type: "ajax:success", timeStamp: 1401820902436, jQuery1110046177322673611343: true, isTrigger: 3, namespace: ""…}
{"id":704,"address":"Austin, TX 78751, USA","address_valid":false} 
string

我正在为 data.id 获取“未定义”。我也试过调用## Heading ##

【问题讨论】:

  • 所以我已经输入了我的问题,但我想我会发布,因为我找到了答案并认为它可能对某人有帮助:我需要在我的 JS 中使用 JSON.parse() 并设置JSON 对象到一个变量。从那里,我能够访问 JSON 对象。 var user = JSON.parse(data) 从那里,我可以在我的 JS 中调用 user.id、user.address 等。
  • 你可以回答你自己的问题:)

标签: javascript ruby-on-rails json


【解决方案1】:

所以我已经输入了我的问题,但我想我会发布,因为我找到了答案并认为它可能对某人有所帮助:我需要使用

JSON.parse() 

在我的 JS 中并将 JSON 对象设置为一个变量。从那里,我能够访问 JSON 对象。

var user = JSON.parse(data) 

从那里,我可以在我的 JS 中调用 user.id、user.address 等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多