使用jQuery使用自定义标头执行GET请求

时间:2017-06-19 18:57:23

标签: jquery json ajax api request-headers

我想使用jQuery的ajax函数来访问我的API端点。

这是我需要点击的端点:

curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     "https://analytics.algolia.com/1/searches/${index}/popular?startAt=${startAt}&endAt=${endAt}"

以下是我尝试使用javascript:

$.ajax({
  url: algoliaApiEndpoint,
  type: "GET",
  crossDomain: true,
  cache: false,
  dataType: "json",
  beforeSend: function(xhr) {
    xhr.setRequestHeader("X-Algolia-API-Key", _ALGOLIA_API_KEY);
    xhr.setRequestHeader("X-Algolia-Application-Id", _ALGOLIA_ID);
  },
  success: function(data) {
    console.log(data);
  },
  error: function(jqXHR, textStatus, errorThrown) {}
});

我看到了这个错误:

  

{“code”:“MethodNotAllowedError”,“message”:“不允许选项”}

如何使用jQuery将curl命令复制到javascript中?

1 个答案:

答案 0 :(得分:0)

  • 打开Chrome DevTool
  • 选择网络标签
  • 更新页面
  • 过滤XHR请求
  • 找到该请求
  • 鼠标右键单击并在上下文菜单Copy->Copy as cURL
  • 中单击
  • 与您的cURL请求进行比较

我认为您在使用CORS和节点解析时遇到问题。我有同样的问题。

enter image description here