Paypal 与 angularjs $http.post 请求

Posted

技术标签:

【中文标题】Paypal 与 angularjs $http.post 请求【英文标题】:Paypal with angularjs $http.post request 【发布时间】:2014-02-21 09:11:51 【问题描述】:

这是购买东西的标准贝宝表单。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="you@youremail.com">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" value="0.00">
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" >
</form>

我不想要这个表单,我想用 angularJS 来做这个:

<button ng-click="checkOut()" class="btn btn-default">Buy</button>

this.checkOut = function () 
            var data = 
               ... // handle all data
            ;

            $http.post('https://www.paypal.com/cgi-bin/webscr', data).success(function (data) 
                console.log("success " + data);
            ).error(function (data) 
                console.log("error " + data);
            );
        

这给了我一个错误:

XMLHttpRequest 无法加载 https://www.paypal.com/cgi-bin/webscr。这 请求被重定向到'https://www.paypal.com/home',即 不允许用于需要预检的跨域请求。

任何建议,如何在没有表单的情况下使用 angularJS?

【问题讨论】:

如果您想使用 Paypal 的服务,您需要使用他们的 API,而不仅仅是复制他们的代码并期望它以同样的方式工作。你想做什么? 【参考方案1】:

PayPal 目前不支持 CORS,因此无法使用 $http POST 到 PayPal。

【讨论】:

以上是关于Paypal 与 angularjs $http.post 请求的主要内容,如果未能解决你的问题,请参考以下文章

使用 nodejs、angularjs 和 paypal sdk 付款结果 cors 错误

Angularjs Paypal 集成没有找到要遵循的特定路径

对 Paypal 的 HTTP 请求

使用 AngularJS 的 Paypal Express 结帐

Paypal 不接受 angularjs 中的 FORM

Paypal按钮使用AngularJS一次提交多个项目