2012-07-05 106 views
0
 $.each(sizeSkuID,function(key,val){ 
     var sizeSkuSplit= val.split("-"); 
     var url="http://www.hostname.com/cart/add/?p="+sizeSkuSplit[0]+"&sku="+val; 

     window.open(url,"cart"); 


    }); 

我以为我可以通过执行多个window.open,但上面的代码回路2项中添加多个项目到购物车,但它只能添加第二个项目购物车。的Javascript window.open()不止一次地添加项目到购物车

如果我通过使用上面的代码逐个点击(选择1项)来模拟,购物车最后会有两个项目。

那么,为什么如果它循环两次,window.open显然运行一次,它需要第二个网址?

+1

阿贾克斯为这个做。 – 2012-07-05 11:24:33

+0

顺便说一下,“购物车”只是让它刷新同一个窗口,而不是打开两个窗口。 – Ardeus 2012-07-05 11:25:41

+0

@AndrewBarber我之前使用过ajax,但购物车/添加/有重定向url,导致与Ajax返回问题。另外,我不需要对结果做任何事情,只是显示已添加到购物车的内容。我怀疑如果我使用ajax它可以记住浏览器cookie,我运行两个ajax url,并打开购物车(http://www.hostname.com/cart),它将只是空的,不像如果我使用window.open其中添加的项目将在那里 – Ardeus 2012-07-05 11:27:45

回答

0

这是因为你指定了同一个窗口(cart)。

说:

window.open(url,"cart" + key); 
+0

它的作品,但它打开两个窗口,如果有5个项目选择,它将是5个窗口。虽然它的目标是同一个窗口,但如果我选择一个并单击,选择另一个并单击,它仍然可以在同一个窗口中添加2个项目。任何其他的工作?可能是我应该尝试调用递归函数。 – Ardeus 2012-07-06 02:48:48

+0

@Ardeus使用'ajax'! – andlrc 2012-07-06 10:25:46

+0

我做到了,我在localhost上创建了应用程序,并将项目添加到活动网站的购物车中。我从ajax得到的是一个重定向错误。如果该网址运行或不运行,该怎么办。重定向网址转到http://www.hostname.com/cart,它使用php会话来记住。但即使我得到一个重定向错误(在萤火虫中已知),当我运行http://www.hostname.com/cart,它的空,所以我假设它或者http://www.hostname.com/cart/add/ ?p =“+ siz ...没有得到运行或它没有,但php会话失败。我必须错过这里。 – Ardeus 2012-07-10 03:27:34

相关问题