圣杯cors = True注释不起作用?

时间:2019-05-19 03:36:50

标签: python cors chalice

这个问题专门关于Chalice框架。我已经知道什么是CORS标头以及如何读取错误消息。但是,我很想让它与Chalice一起使用。

我的路线定义为:

@app.route('/list-photos', methods=['GET'], cors=True)

然后我使用浏览器代码访问它

  let Http = new XMLHttpRequest();
  Http.open("GET", apiUrl + "list-photos?js=" + JSON.stringify(data));
  Http.onreadystatechange=(e)=>{
    if (Http.readyState == 4 && Http.status == 200) {
    ...

为什么它失败并显示以下错误?

  

从源访问“ https:// ...”处的XMLHttpRequest   “ http://localhost”已被CORS政策禁止:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。

我还尝试将headers={ 'Access-Control-Allow-Origin': "'*'" }添加到响应中,但这没什么区别。

更新

经过更多测试后,我注意到app.api.binary_types =['*/*']设置似乎与cors=True冲突。为了解决此问题,我决定将应用程序分成两个部分,而不是为此花费更多时间。如果有人知道适当的解决方案,我将继续公开这个问题。

0 个答案:

没有答案