当前位置: 首页 > 知识库问答 >
问题:

当URL复制到地址栏时,GET有效,但不是通过AJAX复制的[duplicate]

岳永思
2023-03-14

我有一系列endpoint,供应商的应用程序打开了这些endpoint,以便我从这些endpoint获取文件。如果我将这些endpoint输入到浏览器的地址栏中,文件将打开,但如果我试图通过jQuery AJAX获取它们,它将失败,并出现交叉起源错误(请求的资源上没有'access-control-allow-origin'头。因此不允许访问起源'http://mydomain'。)。供应商应用程序REST Web服务不支持CORS。下面是我的AJAX调用:

$.ajax({
    url: "http://vendorrestwebservice/endpoint",
    type: "GET",
    success: function (result) {
    console.log("downloaded file");
  },
  error: function (error) {
    console.log("Failed to download file!");
  }
});

为什么文件在粘贴到地址栏时打开,而通过我的GET请求调用时却不打开?

共有1个答案

糜俊彦
2023-03-14

API需要允许您的域通过ajax(从另一个域)访问它。

从浏览器直接访问时,您位于正确的域上...:)

您可以尝试代理ajax调用,如下所示:

也可以尝试使用JSONP。将.ajax()与JSONP一起使用的基本示例?

 类似资料:
  • 问题内容: 在Dockerfile中,我有 我想排除整个目录,例如我的node_modules目录。 像这样: Docker有可能吗? 问题答案: 在您的docker build上下文目录中创建文件(因此,在这种情况下,很可能是node_modules的父目录),其中只有一行: 尽管您可能只想: 有关dockerignore的信息:https ://docs.docker.com/engine/r

  • 我有两个桶: “source-bucket”(在AWS帐户88888888中)。 “目的地-桶”(在AWS帐户99999999中) 两个桶都启用了版本控制,并且位于同一区域(eu-west-1)。 在源桶中,我创建了一个具有以下设置的复制规则: 我选择了自动角色创建,它使用以下策略创建了一个角色: 根据这里找到的文档https://docs.aws.amazon.com/amazons3/late

  • 我正在尝试用不同的名称同步文件夹的两个内容: 我想将的内容复制到远程主机上的,但不复制目录本身。我尝试过类似于,但rsync不支持这一点。 rsync总是创建

  • 问题内容: 我有几个Javascript原型。最初,实例将仅填写ID,并带有一些其他数据的通用占位符信息。然后,我使用ID和对象类型(使用jQuery的AJAX函数)向服务器发送一条消息,然后服务器返回一个JSON对象,其中包含所有缺少的信息(但没有ID)。返回的对象中的变量与现有对象中的变量名称完全相同。 将其转移到现有的空对象中最简单的方法是什么?我想出了几种选择 将对象设置为等于返回的对象,

  • 问题内容: 我正在编写一个AJAX应用程序,但是当用户浏览该应用程序时,尽管没有页面重新加载,我还是希望地址栏中的URL能够更新。基本上,我希望他们能够在任何时候添加书签,从而返回到当前状态。 人们如何处理维护AJAX应用程序中的RESTful? 问题答案: 执行此操作的方法是在AJAX更新导致您希望使用离散URL的状态更改时进行操作。例如,如果您的页面网址是: http://example.co

  • 我正在使用shutil根据用户提供的文件复制上游进程的输出。有时,这些文件与上游流程不兼容,因此无法创建我尝试移动的最终文件。 我正在给shutil一个详细文件路径列表,我希望它继续移动列表中的所有项目,即使有一个或多个源文件丢失。