【问题标题】:JQuery getJSON CORS error even though not making Cross Origin Request?JQuery getJSON CORS 错误,即使没有发出跨域请求?
【发布时间】:2017-01-22 21:53:57
【问题描述】:

我的website 部署在学校服务器上的 Pi 上。 JS 包含向同一域发出 GET 请求的调用。 (它运行烧瓶)。当我不尝试访问其他域时,为什么这会被视为跨源请求?

我的 js 脚本位于文档根目录以外的目录中。您也可以直接在浏览器中检查元素。

.
├── configs.js
├── index.html
├── logs.html
├── node_modules
│   └── all my libraries
├── README.md
└── resources
    ├── css
    │   └── style.css
    ├── images
    │   └── dvc.png
    └── js
        ├── log-chart.js
        └── script.js

41 directories, 472 files

【问题讨论】:

  • 是同一个端口和服务器吗?这些也构成了一个起源。
  • flask REST 调用是通过http://dvc-raspberrypi.ucsd.edu:5000/door 完成的。学校分配给我的 Pi 如下:IP=132.239.214.30 Hostname=dvc-raspberrypi.ucsd.edu Gateway=132.239.214.1 Net Mask=255.255.255.192 我猜它可能是一个不同的端口?
  • 这会比设置 mod_wsgi 并在那里部署更容易吗?

标签: javascript jquery flask raspberry-pi cors


【解决方案1】:

在测试跨域请求时,端口号被视为域的一部分,因此它必须与请求页面的端口相同。您的网站是http://dvc-raspberrypi.ucsd.edu/,但您正在尝试访问http://dvc-raspberrypi.ucsd.edu:5000/door。端口 5000 使它们具有不同的来源。

【讨论】:

  • 我会尝试将端口设置为80。
  • 等等...我的前端正在使用 80 端口在 Apache 上运行。我怎样才能让我的后端使用 80 端口?理想情况下,我希望能够像这样拨打电话:http:dvc-raspberrypi.ucsd.edu/door。但是对于前端文档根目录中的文件,这将是模棱两可的。我想我可以将后端和前端放在同一个目录中,但我想将它们分开。
  • 你可以用不同的端口来做,但是你需要实现 CORS 来允许它。
  • 看来我有几个选择。 1、实现CORS,前端和后端保持在不同的端口上。 2. 让 Flask 为网页提供服务(同一目录)。我也一直在考虑切换到 node.js,我想这与选项 2 相同。你会推荐什么?
  • 我没有建议。我不知道你的限制是什么。我对 Flask 一无所知。
猜你喜欢
  • 2019-10-21
  • 2022-01-06
  • 2018-08-16
  • 2015-01-24
  • 1970-01-01
  • 2022-01-23
  • 2021-11-26
  • 2015-04-01
  • 2014-05-28
相关资源
最近更新 更多