【问题标题】:How to use curl with ajax in Nodejs如何在 Nodejs 中使用 curl 和 ajax
【发布时间】:2019-09-18 20:12:13
【问题描述】:

我正在使用 nodejs,我想从 api(在其​​他服务器中)获取数据,所以我使用 ajax 和 curl 但我没有得到数据。我错在哪里?这是我的代码

<script>
$(document).ready(function(){

    $.ajax({
    url: "example.com/get_viewed_candidates",
    beforeSend: function(xhr) { 
      xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
    },
    type: 'POST',
    dataType: 'json',
    contentType: 'application/json',
    processData: false,
    data: '{"foo":"bar"}',
    success: function (data) {
      alert(JSON.stringify(data));
    },
    error: function(){
      alert("Cannot get data");
    }
});

});
</script>

【问题讨论】:

  • 这不是一个完整的代码,检查浏览器控制台并在这里粘贴你的错误
  • 你在这段代码中的什么地方使用了curlcurl 是一个 CLI 工具。你指的是jquery吗?
  • 除了来自浏览器控制台的错误,您还应该在 Node 后端服务中添加该功能的控制器。

标签: jquery node.js ajax curl


【解决方案1】:

由于Access-Control-Allow-Origin 政策,您不能像上面实现的那样直接请求另一个 url/端点。如果您想实现这一点,您必须允许来自服务器端的请求。一旦您从服务器端启用它,客户端将发送多个请求 1 来验证请求,另一个用于获取信息(如果一切都得到验证)。

【讨论】:

  • 不清楚他是向另一个域还是同一个域发出请求。 example.com 很可能是提供此脚本的主机表单。
  • @FranciscoHanna:我说的是另一个域
【解决方案2】:

为了更好地理解这个概念,请阅读以下同源政策和 CORS -

同源政策 -> https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 2022-01-23
    • 2015-01-27
    • 2016-07-12
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多