Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jquery中使用原始数据复制简单的Postman API调用_Jquery_Api_Postman - Fatal编程技术网

在Jquery中使用原始数据复制简单的Postman API调用

在Jquery中使用原始数据复制简单的Postman API调用,jquery,api,postman,Jquery,Api,Postman,我有一个简单的API调用,它在POSTMAN中工作: 非常简单。工作完美 但是,我尝试在jQuery中复制这一点,如下所示: $.ajax({ url: "https://example.us-east-1.amazonaws.com/prod", type: "POST", contentType: "application/json", data: { id_api: "catalogo_get_categorias" },

我有一个简单的API调用,它在POSTMAN中工作:

非常简单。工作完美

但是,我尝试在jQuery中复制这一点,如下所示:

$.ajax({
    url: "https://example.us-east-1.amazonaws.com/prod",
    type: "POST",
    contentType: "application/json",
    data: {
        id_api: "catalogo_get_categorias"
    },
    success: function(results){
        console.log(results)
    },
    error: function(err) {
        console.log(err)
    }
});
但它总是以500个错误返回

有什么想法吗

编辑:

当我禁用Chrome CORS扩展时,控制台产生以下错误

启用后,这就是输出
邮递员与浏览器(Chrome)的绑定方式不同。如果您正在请求的API端点-
https://example.us-east-1.amazonaws.com/prod
-不使用类似的
访问控制允许来源:
,您将遇到您发布的异常

要解决此问题,您的选择基本上是:

  • 如果AWS允许,将添加到响应中
  • 通过代理服务器路由请求,以便服务器向AWS发出实际请求,而不绑定到同源策略
  • 还要确保
    $.ajax()
    请求通过使用相关的配置对象属性来设置。例如,您可能需要在传递给
    $.ajax()
    的配置对象上设置
    xhrFields.withCredentials
    属性:


    如果您使用的是node.js和express,这个答案会有所帮助

    将以下行添加到server.js文件中

    app.use(函数(请求、恢复、下一步){
    res.header(“访问控制允许原点”、“*”);
    res.header(“访问控制允许头”、“来源、X请求、内容类型、接受”);
    next();
    
    });
    您可以检查错误消息/堆栈跟踪吗?我已经添加了控制台的屏幕截图,所以“Postman使用服务器发出请求”“还要确保$.ajax()请求包含适当的标题”“谢谢,@Phil-我已经用您的反馈更新了我的答案。为什么使用凭据
    ?OP没有提到任何基于cookie的身份验证。此外,与OP代码的问题一样,您没有将数据序列化为JSON。所有这些都包含在我在问题注释中标记的两个副本中OP是否表明他们在服务器端使用Express?我在使用node.js时遇到了类似的错误,因此我认为这里的错误也一样。我将编辑答案。错误是一般性的(它被定位到HTTP层),并且完全独立于所使用的特定技术。如果我想深入了解错误,您建议使用什么关键字搜索?。我刚开始探索服务器端编程。最好是搜索错误消息本身。从这里开始~。MDN文档也是一个很好的资源~
    $.ajax({
      url: "https://example.us-east-1.amazonaws.com/prod",
      type: "POST",
      contentType: "application/json",
      xhrFields: {
        withCredentials: true
      },
      data: {
        id_api: "catalogo_get_categorias"
      },
      success: function (results) {
        console.log(results);
      },
      error: function (err) {
        console.log(err);
      }
    });