【问题标题】:http request that crashes with www与 www 崩溃的 http 请求
【发布时间】:2021-10-03 05:04:57
【问题描述】:

我正在向用于 PDF 打印的 API 服务页面发出 http 请求,例如 ajax。

我的问题是,如果我使用 http://wwww.somepage/ 发出请求,请求被 api 拒绝,它会告诉我以下消息

Access to XMLHttpRequest at 'https://api.sejda.com/v2/html-pdf' from origin 'https://www.seinon.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin 'header is present on the requested resource.

我已强制它包含 Access-Control-Allow-Origin 标头 * 用于测试,并且请求保持不变。

我需要 www 来维护页面的会话,如果没有,它们会丢失并且我要求打印的内容是空白的

api本身在其自己的网站上有一个配置参数,即允许请求的源url,我已将其设置为www.seinon.com,问题仍然存在

我使用 Response.AddHeader 添加的标头

什么可能会失败?

【问题讨论】:

  • 我不能依赖第三方软件来解决这个问题。它必须在我们自己的服务器上
  • 然后用你自己的服务器创建一个代理。因此,您的网页向您自己的服务器(在同一域上)发出请求,服务器向 API 发出请求。您可以直接从您的网页调用api.sejda.com 的唯一方法是当api.sejda.com 在其响应中返回Access-Control-Allow-Origin 标头时。只有他们决定是否发送此标头。这不是您可以从请求方更改的内容。
  • 似乎有时他会返回头部和其他人,但他没有,我不明白为什么。在很短的时间内它让我打印了 2 个 pdf 文件

标签: javascript asp-classic xmlhttprequest sejda


【解决方案1】:

在许多平台上有太多的浏览器需要处理,而且它们都有自己的怪癖,尤其是在安全方面。

有效超越 SameOrigin 限制的唯一方法,尤其是在使用 JavaScript 从远程网站显示 PDF 时,是获取 PDF 文件并将其保存在本地,您的网页可以在本地访问它。

我连续几天尝试了所有其他方法...代理服务器、mod_headers 等,但没有任何效果,包括此处和其他地方看到的所有推荐调整。

获取文件,在本地保存并从那里显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2011-03-20
    相关资源
    最近更新 更多