我正在尝试在我的页面上集成paypal添加到购物车按钮。当每个paypal添加时,包含的表单似乎工作正常..但是当我使用ajax序列化并提交表单时,它会给我一个302错误并且从不填充Div。
从技术上讲,我正在尝试避免重新加载页面,或者当有人点击“添加到购物车”按钮时重定向/打开新页面,并认为我可以使用Ajax解决这个问题。显然,由于ajax调用无法发布或加载重定向的页面,重定向会导致可能性丧失吗?
任何指针都会被指定。
这是我的代码:
使用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>
感谢,
Silver Tiger
答案 0 :(得分:1)
您可以使用Shopping Cart API的add="1"
方法提交多个项目。您需要做的就是为每个要提交的产品添加item_name
,item_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="....">
请检查HTML Variables for PayPal Payments Standard以获取有关此API方法和可以使用的变量的更多信息。
答案 1 :(得分:0)
我有单独的按钮可以添加到购物车,并且需要此过程另外添加多个项目。
我确实发现你可以使用一个表单使用“upload ='1'”方法提交多个项目,但是当提交时,它会用新列表“覆盖”当前的购物车项目......这将不起作用我用单个“添加到购物车”按钮输入的其他项目将丢失。
有没有人有这方面的经验?我希望paypal有一个API,我可以用...添加项目但是却找不到那样的东西。