[英]How to pass json data from ruby controller to javascript (Rails 6.1)?
[英]Ruby on Rails: Get json from controller in Javascript file
在我的控制器中,我有一些json:
tickets_controller.rb:
def create
...
vote_status = current_user.user_votes.pluck(:recipient_uid).include?(@user.uid)
render json: vote_status
end
我需要在javascript文件中獲取vote_status
tickets.js:
jQuery(function($) {
$(".doWant").click( function () {
var status = vote_status.evalJSON();
var uid = $(this).parents("#dialog")[0];
var username = $(this).parents("#dialog")[0];
if(confirm("Are you sure?")) {
$.ajax({
url: '/votes' + "?uid=" + $(uid).attr("data-user-uid") + "&username=" + $(username).attr("data-user-username"),
type: 'POST',
success: function(data) {
console.log(data)
}
});
};
});
});
但是存在錯誤Uncaught ReferenceError: vote_status is not defined
。 我究竟做錯了什么?
謝謝!
您沒有定義此變量:
var status = vote_status.evalJSON();
您必須定義該變量。
您似乎希望使該代碼進入success
函數,該函數將從ajax調用返回的數據作為該函數中的第一個參數:
success: function(data) {
console.log(data)
}
在成功的json回調中返回vote_status ,在那里初始化狀態
$.ajax({
url: '/votes' + "?uid=" + $(uid).attr("data-user-uid") + "&username=" + $(username).attr("data-user-username"),
type: 'POST',
success: function(data) {
var status = JSON.parse(data);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.