2011-09-12 80 views
4

我想要在我的頁面上集成一個貝寶添加到購物車按鈕。當每個paypal添加包含的表單似乎工作正常..但是當我使用ajax序列化和提交表單時,它給了我一個302錯誤,永遠不會填充Div。貝寶「添加到購物車」沒有離開頁面

技術上我想OT避免重新加載頁面,或重定向/打開一個新的網頁,當有人點擊「添加到購物車」按鈕,想我能解決這個使用Ajax。顯然重定向會殺死可能性,因爲ajax調用不能發佈或加載重定向頁面?

任何指針將apprecaited。

這裏是我的代碼:

的Javascript:

$(document).ready(function(){ 
    $(".addToCart").click(function(){ 
     var ev = arguments[0] || window.event, 
     origEl = ev.target || ev.srcElement; 
     var cartForm = origEl.name; 
     var formData = $(cartForm).serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "https://www.paypal.com/cgi-bin/webscr", 
      cache: false, 
      data: formData, 
      success: onSuccess, 
      error: onError 
     }); 
     return false; 
    }); 
}); 

HTML:

<a class="addToCart" cartNumber="#paypal<?PHP echo $counter; ?>"> 
    <img name="#paypal<?PHP echo $counter; ?>" src="images/butNowButton.jpg" cartNumber="#paypal<?PHP echo $counter; ?>" border="0" style="text-decoration:none;" /> 
</a> 
<form name="paypal<?PHP echo $counter; ?>" id="paypal<?PHP echo $counter; ?>" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_cart"> 
    <input type="hidden" name="business" value="removed for security"> 
    <input type="hidden" name="lc" value="US"> 
    <input type="hidden" name="item_name" value="<?PHP echo $itemName; ?>"> 
    <input type="hidden" name="item_number" value="<?PHP echo $Row['id']; ?>"> 
    <input type="hidden" name="amount" value="<?PHP echo $amount; ?>"> 
    <input type="hidden" name="currency_code" value="USD"> 
    <input type="hidden" name="button_subtype" value="products"> 
    <input type="hidden" name="no_note" value="0"> 
    <input type="hidden" name="tax_rate" value="0.000"> 
    <input type="hidden" name="shipping" value="0.00"> 
    <input type="hidden" name="add" value="1"> 
    <input type="hidden" name="bn" value="PP-hopCartBF:btn_cart_LG.gif:NonHostedGuest"> 
</form> 

感謝,

銀虎

+0

不知道在所有的,爲什麼你會得到一個302(未技術上說是錯誤)。但作爲替代方案,請查看https://minicart.paypal-labs.com/上的PayPal Mini Cart - 這可能適合您的需求? – Robert

+0

相信與否..我能夠使用,因爲我發現它之前,你回答。它工作得很好:)很多thx的幫助,但現在我必須找到一種方法來添加多個項目與購物車與PHP(客戶選擇多個項目,然後我添加到購物車爲他們)....已nto找到了答案至今爲止。 – Silvertiger

回答

0

我有附加牛逼各個按鈕購物車,並需要此過程來添加多個項目。

我確實發現可以使用表單使用「上傳='1'」方法提交多個項目,但是當提交時,它會用新項目「覆蓋」當前購物車項目......這將不起作用因爲我用單個「添加到購物車」按鈕輸入的其他項目將會丟失。

有沒有人有這樣的經驗嗎?我希望貝寶高清API我可以添加項目..但一直沒有找到這樣的事情。

1

您可以使用購物車API的add="1"方法來提交多個項目。您需要做的只是爲每個要提交的產品包含item_nameitem_number和/或amount變量,如下所示。

<!-- item 1 --> 
<input type="hidden" name="item_name_1" value="...."> 
<input type="hidden" name="item_number_1" value="...."> 
<input type="hidden" name="amount_1" value="...."> 
<!-- item 2 --> 
<input type="hidden" name="item_name_2" value="...."> 
<input type="hidden" name="item_number_2" value="...."> 
<input type="hidden" name="amount_2" value="...."> 
<!-- item x --> 
<input type="hidden" name="item_name_x" value="...."> 
<input type="hidden" name="item_number_x" value="...."> 
<input type="hidden" name="amount_x" value="...."> 

有關此API方法和您可以使用的變量的更多信息,請檢查HTML Variables for PayPal Payments Standard

相關問題