3

我正在尝试使用 Ajax 在区块链上创建钱包,但出现“跨源请求被阻止”错误。我的 Ajax 调用是:

$.ajax({
                    type: 'POST',
                    url: 'https://blockchain.info/api/v2/create_wallet',
                    data: "cors=true&email="+email+"&password="+password+"&api_code="+code,
                     dataType:'json',
crossDomain: true,
                     beforeSend:function(){


                      },
                    success: function (data) {

                    }
            });

当我发布这个我得到错误Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://blockchain.info/api/v2/create_wallet. This can be fixed by moving the resource to the same domain or enabling CORS.

在区块链上,他们说如果您向请求添加 cors=true 参数,则某些 API 调用可用于 CORS 标头

我已经尝试了一切,我尝试将此参数作为 GET 和 POST 参数发送,我尝试过jsonp。我也尝试过使用标题Access-Control-Allow-Origin *,但似乎没有任何效果。任何人都可以确认他是否设法使用 Ajax 调用创建了区块链钱包,或者他们不支持 CORS。任何帮助都感激不尽。

谢谢

哈姆扎

4

2 回答 2

1

我认为可以肯定地说区块链的钱包 API 不支持 CORS。

您上面的 AJAX 调用看起来是正确的,并且您收到了一个 CORS 阻止错误。

与他们的一些其他 API 不同的是,https://blockchain.info/api/blockchain_wallet_api 上的区块链钱包 API 文档没有指定可以通过带有 cors=true 查询参数的 CORS 进行调用。

在使用 javascript 处理浏览器中的私钥和密码时,存在一些重大的安全隐患。我怀疑这就是他们不允许这样做的原因。

于 2014-09-11T14:00:28.873 回答
0

解决方案非常简单。只需在服务器端执行该请求,然后调用从您的$.ajax()方法执行该请求的服务器脚本。

于 2019-04-21T15:49:28.653 回答