1

我正在使用 jquery ajax 调用循环 API 端点,但我得到了跨域错误。据我了解,这是因为 Recurly 仅将结果作为 XML 返回......当我使用 JSONP 解决跨域错误时,我收到一个错误,因为它接收 XML 数据但需要 JSONP。很明显。但我试图了解一个人究竟如何通过 AJAX 调用来使用这个 API。我已经成功地能够使用 PHP 访问 API,但不幸的是,对于这个项目,我不能使用任何客户端代码。

即使我找到某种中间代码解决方案来获取 XML 并将其转换为 JSON 以供我方接受,我也需要将 API 用于 POST 请求(创建帐户、订阅等),所以我想了解如何正确使用 API。

这是我的代码示例:

$.ajax({
  url: "http://[DOMAIN].recurly.com/v2/accounts",
  beforeSend: function(xhr) { 
    xhr.setRequestHeader("Authorization", "Basic " + window.btoa("[API KEY]")); 
  },
  crossDomain: true,
  type: "GET",
  accepts: "application/xml",
  dataType: "application/xml; charset=utf-8",
  success: function (data) {
    console.log("SUCCESS:", data);
  },
  error: function(e){
    console.log("ERROR:", e);
  }});

任何有 Recurly API 经验的人有任何提示/建议吗?

4

2 回答 2

1

来自https://docs.recurly.com/api/recurlyjs/jsonp_endpoints

 $.ajax({
 dataType: 'jsonp',
 url: 'https://{subdomain}.recurly.com/jsonp/{subdomain}/plans/{plan_code}',
 data: {
currency: 'USD',
 },
 success: function (data) {
 // do stuff
 },
}
于 2014-10-09T00:55:16.057 回答
0

您不应浏览器中使用 V2 API。这样做有暴露您的私有 API 密钥的风险。如果有人拥有您的 API 密钥,他们可以拨打电话向客户收费、修改订阅,从而引发各种问题。

查看 Byaxy 链接到的 JSONP 端点。

于 2015-01-13T19:02:12.490 回答