2012-07-05 104 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

相關問題