【问题标题】:Sending a JSON string as a parameter to an action将 JSON 字符串作为参数发送到操作
【发布时间】:2011-04-30 18:48:06
【问题描述】:

我的 Ruby on Rails 视图文件上有一个按钮。

首先,当单击按钮时,会进行 Ajax 调用,作为响应,会给出 JSON 字符串。到目前为止,我已经完成了这项任务。

这是我卡住的地方:该按钮还将我重定向到同一控制器的另一个操作。现在我想将 JavaScript 接收到的 JSON 字符串作为参数发送到该操作。

有没有办法解决这个问题?

【问题讨论】:

    标签: javascript ruby-on-rails ajax json


    【解决方案1】:

    您的 ajax 调用应如下所示:

    ... doing stuff before ...
    
    $.ajax(
      url:'url-to-script',
      success: function(data) {
        var json = JSON.parse(data);
        $('#hidden-field').val(json); // set a hidden field in your form
        $('#from-id').submit();
      }
    );
    
    $('#submit-button').attr('disabled', 'true'); // disable the button
    // set some spinny animation to notify the user that you are waiting.
    // time out after a while if you don't get a response
    
    ... doing stuff after ...
    

    基本上我们会触发 ajax 事件,禁用按钮并通知用户您正在等待。当调用返回时,您的回调方法将表单提交到 rails。您还可以为 ajax 调用设置一个超时时间,并在必要时让用户重新提交。您可以随意处理错误情况。

    【讨论】:

    • 考虑一个场景:你是一个服务器'A'。它向其客户端“B”提供一个脚本以在 B 的站点上运行。 B 有一个客户端“C”,它访问 B 的站点并尝试访问您提供给 B 的脚本。因此 B 将首先验证 C 并将用户凭据以 JSON 格式提供给 A,然后执行 rails 部分和 C 的数据将保存在 A 的服务器上。这就是我想要做的。希望你现在有一个清晰的想法。
    • 知道了,已编辑发布。这与您要查找的内容接近吗?
    猜你喜欢
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多