Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在获取请求之前发送AJAX请求_Javascript_Ruby On Rails_Ruby_Ajax - Fatal编程技术网

Javascript 在获取请求之前发送AJAX请求

Javascript 在获取请求之前发送AJAX请求,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,我正在用javascript window.open方法发送GET请求,我需要传递其中一些ID的数组。所以当我得到这样的URL时: http://localhost:3000/controller_path/new?ids[]=1025&ids[]=1027 但这是不可接受的。URL不应该是这样的。我不能通过POST发送参数,因为我的团队领导拒绝了 我想知道我是否可以在主GET请求之前发送一个ajax请求,并用它传递id数组,以某种方式将其存储在我的“新”方法中,并在发送GET请求时使

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

http://localhost:3000/controller_path/new?ids[]=1025&ids[]=1027
但这是不可接受的。URL不应该是这样的。我不能通过
POST
发送参数,因为我的团队领导拒绝了


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

您可以使用JSON序列化数据

因此,如果你有:

var ids = [9,4,5,8];
您可以使用以下选项:

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

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

,这将使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看起来更好。谢谢