【问题标题】:Make multiple rest get requests and save output发出多个休息获取请求并保存输出
【发布时间】:2017-03-31 00:18:18
【问题描述】:

我需要在使用带有一些参数的 GET 方法时调用 REST-ful 网络服务并保存相同的输出。

我的第一种方法是在 JavaScript 中发出一些请求并使用console.log() 记录输出,但服务器不允许 CORS。所以我不能那样做。

我很确定这可能是一件常见的事情,但我似乎找不到一种简单的方法来做到这一点。最简单的方法是什么?是否有任何软件可以让我创建一个数组,比如说有 100 个参数,保存 100 个调用,或者有什么更好的方法? PHP 脚本?

附言我无法在服务器中激活 CORS,也无法将代码放在同一个域中。到目前为止,我有一个可以在浏览器中调用并返回 XML 的示例。

【问题讨论】:

  • 发布您的代码;为了提供指示,我们需要知道您从哪里开始,而我们不知道。

标签: web-services rest get


【解决方案1】:

就 CORS 而言,这与您正在运行的 API 不允许来自不同域的请求有关。这可以通过在您正在开发的 API 中允许 CORS 来解决。

CORS 链接:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

另一种选择是让您的网站与 API 在同一个域中。

完成此操作后,您可以简单地向 API 发出多个 AJAX 请求。

AJAX HTTP GET 示例:HTTP GET request in JavaScript?

编辑:

您可能还必须在请求的 HTTP 标头中启用 CORS。这必须添加到 AJAX 请求中:

 Access-Control-Request-Headers: x-requested-with

这是一个对 jquery 很有帮助的链接:How to get a cross-origin resource sharing (CORS) post request working

【讨论】:

  • 在这种情况下我无法在服务器上激活 CORS,我也不能在同一个域中拥有代码
  • 如果您无权访问服务器代码,那么我建议您尝试在 HTTP 请求中添加 CORS 标头以查看是否有效。如果可行,则说明服务器上已经启用了 CORS。如果没有,我不确定您是否甚至可以向服务器发出请求,除非您在同一个域中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 2019-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多