【问题标题】:Rails - javascript not using generated JSON as sourceRails - javascript 不使用生成的 JSON 作为源
【发布时间】:2023-03-11 10:40:02
【问题描述】:

我有一些使用 JSON 来创建时间线的 javascript。我已经使用 json_builder 生成了 JSON,因此它只填充了当前用户的信息。当您转到其 URL 时 JSON 显示正常,但是当将 URL 提供给 JS 时,它无法找到数据,因此时间线卡在加载屏幕上。

在被javascript“访问”时不会生成JSON吗?我能做些什么来解决这个问题,以便 javascript 获取正确的数据?如果你给 javascript 一个静态 JSON 文件来使用它,它就可以正常工作。

基本上,我认为我需要做的是让 javascript 以某种方式将 json 保存在一个变量中,然后它可以将其作为源而不是 URL 调用。或者我可以让 json_builder 在 javascript 函数中运行吗?

我对 Rails 还很陌生,所以您可能需要为我详细说明一下,但是对于如何解决此问题的任何帮助将不胜感激,TIA。

Javascript:

<script>
            $(document).ready(function() {
                createStoryJS({
                    type:       'timeline',
                    width:      '800',
                    height:     '600',
                    source:     'users/<%= current_user.id %>/events.json',
                    embed_id:   'my-timeline'
                });
            });
</script>

【问题讨论】:

  • 是的。我不知道它为什么起作用,但我找到了一个解决方案,它在下面发布。无论如何谢谢:0)

标签: javascript ruby-on-rails json


【解决方案1】:

源应该以/开头吗?

source: '/users/<%= current_user.id %>/events.json'

【讨论】:

  • 对不起,我的错字!虽然没有什么区别:(
【解决方案2】:

我不知道为什么会这样,但确实如此!我只需要将 ?callback 添加到 URL 的末尾 - 即:

source:     '/users/<%= current_user.id %>/events.json?callback',

这会抓取正确的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 2016-04-02
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多