2012-07-04 75 views
-2

我使用javascript window.open方法发送GET请求,并且需要传递一些id的数组。所以当我得到这样的URL:在获取请求之前发送AJAX请求

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

但这是不可接受的。网址不应该像这样。我不能通过POST发送参数,因为我的团队负责人否认了这一点。

我不知道我能在我的主要GET请求发送Ajax请求,并传递的ids阵列有了它,好歹存储在我的“新”的方法,并利用它们时正在发送GET要求?如果可能的话,我如何在rails中做到这一点?我其他的话我需要发送我的数组与ajax请求,以某种方式存储它,并在我的实际GET请求发送时使用它。感谢您的回复。

回答

2

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

所以,如果您有:

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

您可以使用此:

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

这将使URL像'” http:// localhost:3000/controller_path/new?ids = [9,4,5,8]“'你应该编码它,它会像'”http:// localhost:3000/controller_path/new ids =%5B9%2C4%2C5%2C8%5D“' – Esailija

+0

它是否定的这是一个解决方案,但它使URL看起来更好。谢谢 –

0

定义route与控制器的方法来处理数据