gpt4 book ai didi

javascript - 客户端中的 JSON 与 Rails 服务器返回的 JSON 不同

转载 作者:行者123 更新时间:2023-12-02 23:10:22 25 4
gpt4 key购买 nike

我正在对此 Controller 方法进行 AJAX 调用:

def search_posts
keyword = params[:keyword]

results = @client.query("SELECT *
FROM posts
WHERE keyword = '#{keyword}'")

posts = []

results.each do |row|
posts << {
media_id: row["media_id"],
media_type: row["media_type"],
caption: row["caption"]
}
end

@client.close
render json: posts
end

我的 JavaScript 看起来像这样:

$.ajax({
url: '/search_posts',
type: "get",
data: {
keyword: keyword
},
success: function(res) {
console.log(res);
}
});

但是,当我console.log返回的JSON时,某些media_ids比实际值小1。例如,应为 17924518156307537 的 media_id 在浏览器中记录为 17924518156307536

我在 render json: 行之前puts添加了 posts 哈希值,此时 media_ids 是正确的。非常奇怪的是,它只发生在某些 media_ids 上,而不是全部。

最佳答案

终于弄清楚了:JavaScript 只支持最多 53 位整数,并且一些 media_id 比这个更大。通过在将 media_ids 发送到客户端之前将其转换为 Ruby 中的字符串解决了这个问题。

关于javascript - 客户端中的 JSON 与 Rails 服务器返回的 JSON 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57398135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com