我正在使用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']和点符号。这是我的JS函数,用于在成功更新后监听JSON:
$('.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 ##
答案 0 :(得分:0)
所以我已经输入了我的问题,但我想我会发帖,因为我找到了答案,并认为它可能有助于某人:我需要使用
JSON.parse()
在我的JS中并将JSON对象设置为变量。从那里,我能够访问JSON对象。
var user = JSON.parse(data)
从那里,我可以在我的JS中调用user.id,user.address等。