Paypal'Access-Control-Allow-Origin'错误

时间:2015-10-06 12:25:15

标签: javascript jquery ajax paypal

我正在使用PayPal,我正在使用以下代码:

$(".btn-small").click(function()
    {
        $.ajax({
         url:"<?php echo Yii::app()->createUrl('/paypal/buy'); ?>",
         type:"POST",  
         crossDomain :"true",
         success:function()
         {
            alert("Success : ");
         },
         error:function()
         {
            alert("Failed : ");
         }
        });

    });

但我得到的错误是 XMLHttpRequest无法加载https://www.sandbox.paypal.com/xxxxxxxxxxx。 请求的资源上没有“Access-Control-Allow-Origin”标头。

我已经阅读了很多帖子,我理解了两个解决方案

  1. 使用JSONP
  2. CORS。
  3. 我使用过这样的JSONP:

    $(".btn-small").click(function()
            {
                $.ajax({
                 url:"<?php echo Yii::app()->createUrl('/paypal/buy'); ?>",
                 type:"POST",  
                 crossDomain :"true",
                 dataType:"jsonp",
                 success:function()
                 {
                    alert("Success : ");
                 },
                 error:function()
                 {
                    alert("Failed : ");
                 }
                });
    
            });
    

    然后我收到以下错误:

    未捕获的SyntaxError:意外的令牌&lt;,我认为这是因为我得到了响应为html。

    我使用过这样的CORS:

    $(".btn-small").click(function()
            {
                $.ajax({
                 url:"<?php echo Yii::app()->createUrl('/paypal/buy'); ?>",
                 type:"POST",  
                headers: {
    
                 'Access-Control-Allow-Origin':'*',
                 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
                 'Access-Control-Allow-Headers': 'Content-Type, Content-Range, Content-Disposition, Content-Description'
                },
    
                 crossDomain :"true",
                 success:function()
                 {
                    alert("Success : ");
                 },
                 error:function()
                 {
                    alert("Failed : ");
                 }
                });
    
            });
    

    但是我得到了同样的错误:

    XMLHttpRequest无法加载https://www.sandbox.paypal.com/xxxxxxxxxxx。 请求的资源上没有“Access-Control-Allow-Origin”标头。

    任何帮助请。

    非常感谢你。

0 个答案:

没有答案