【问题标题】:Azure No 'Access-Control-Allow-Origin' headerAzure No 'Access-Control-Allow-Origin' 标头
【发布时间】:2019-03-18 17:02:06
【问题描述】:

我有一个托管在 Azure Web 应用程序中的 .NET Core Web 应用程序。它的功能之一是解析 XML 提要服务器端。

直到最近,当通过 C# 调用 RSS 提要时,该逻辑才停止返回数据。通过浏览器访问时,您可以看到 RSS 提要。

问题

该解决方案现在仅适用于本地主机。如果我直接使用 AJAX 调用 RSS 提要,我会收到以下错误:

对预检请求的响应未通过访问控制检查:否 'Access-Control-Allow-Origin' 标头出现在请求的 资源。原点 'http://blah.azurewebsites.net' 因此不是 允许访问。

据我了解,服务器没有在响应中包含标头?

那么这个网站https://codebeautify.org/rssviewer 是如何设法返回 RSS 提要的呢?

Javascript

var data = [
    { title: "UK", Url: "http://feeds.bbci.co.uk/news/uk/rss.xml" },
    { title: "World", Url: "http://feeds.bbci.co.uk/news/world/rss.xml" }
];

$.ajax({
    method: "POST",
    contentType: "application/json",
    data: JSON.stringify(data),
    url: "api/xml",
    success: (data) => {
        // do stuff
    }
});

C#

public MyResponse Get(List<MyRequest> requests)
{
    foreach(var request in requests)
    {
        request.XDocument = XDocument.Load(request.Url);
    }

    return new MyResponse(requests);
}

【问题讨论】:

  • 您是否在 Azure Web 应用上启用了 CORS? docs.microsoft.com/en-us/azure/app-service/…
  • @softbear 我为什么要这样做?问题不就是我从 RSS 提要(即 BBC)获得的响应吗?
  • “据我了解,服务器没有在响应中包含标头?” ⬅ 是的。 “但是,这个网站codebeautify.org/rssviewer 是如何设法返回 RSS 提要的?” 该站点必须从其后端服务器端代码而不是其前端 JavaScript 代码发出对该 RSS 提要的请求.

标签: javascript c# azure cors cross-domain


【解决方案1】:

当代码部署到 Azure 时,我的控制器没有收到 POST 数据。不知道为什么,但我可以通过按照本指南 https://docs.microsoft.com/en-us/azure/app-service/web-sites-dotnet-troubleshoot-visual-studio 设置远程调试来看到这一点。

按照本指南操作时,我确实遇到了我的 Visual Studio 2017 社区版无法找到 Internet Explorer 的问题。

基本上,Visual Studio 正在寻找 iexplore.exe,由于某种原因,我没有(可能是因为存在 Edge?)。我正在运行 Windows 10 家庭版,版本 10.0.17134。

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App 路径\IEXPLORE.EXE

为了解决这个问题,我安装了 Internet Explorer 11。

  1. 按 Windows 键
  2. 搜索管理可选功能
  3. 点击添加功能
  4. 查找 Internet Explorer
  5. 安装,重启完成安装

我不知道为什么没有收到 POST 数据,但作为临时解决方法,我不需要从 JS 发送数据,因此我同时将数据移动到控制器。

【讨论】:

    猜你喜欢
    • 2021-08-12
    • 2015-08-04
    • 2016-01-11
    • 2017-12-29
    • 2014-04-25
    • 2019-02-07
    • 2021-06-23
    相关资源
    最近更新 更多