【问题标题】:Send AJAX request before Get request rails在获取请求轨道之前发送 AJAX 请求
【发布时间】:2012-07-04 15:46:07
【问题描述】:

我正在使用javascript window.open 方法发送GET 请求,我需要在其中传递一些ID 数组。所以当我得到这样的网址时:

http://localhost:3000/controller_path/new?ids[]=1025&ids[]=1027

但这是不可接受的。 URL 不应如下所示。而且我无法通过POST 发送参数,因为我的团队负责人拒绝了。

我想知道我是否可以在我的主要GET 请求之前发送一个 ajax 请求并用它传递ids 的数组,将它以某种方式存储在我的“新”方法中并在发送GET 请求时使用它们?如果有可能我怎么能在rails中做到这一点?换句话说,我需要使用 ajax 请求发送我的数组,以某种方式存储它并在发送我的实际 GET 请求时使用它。感谢回复。

【问题讨论】:

    标签: javascript ruby-on-rails ruby ajax


    【解决方案1】:

    您可以使用 JSON 序列化数据。

    如果你有:

    var ids = [9,4,5,8];
    

    你可以用这个:

    var getString = "?ids="+JSON.stringify(ids);
    var filePath = "whereYouAreSending";
    window.open(filePath+getString);
    

    【讨论】:

    • 这会使 url 像 "http://localhost:3000/controller_path/new?ids=[9,4,5,8]" 你应该对它进行 uri 编码,它最终会像 "http://localhost:3000/controller_path/new?ids=%5B9%2C4%2C5%2C8%5D"
    • 这不是一个解决方案,但它使 URL 看起来更好。谢谢
    【解决方案2】:

    用控制器方法定义一个route 来处理数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2023-03-16
      • 2015-02-07
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多