提取POST请求失败:CORS标头

时间:2019-12-14 15:33:22

标签: javascript rest post fetch

下面是将发布请求发送到也本地托管的rest API的代码。

const URL ='http://localhost:5000/api/v1.0/tasks/'

function setHIT(HIT_state){
console.log("Sending HIT")
fetch(URL, {
  method: "post",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },

  //make sure to serialize your JSON body
  body: JSON.stringify({
    name: 'Example',
    lastname: 'Example'
  })
})
.then( (response) => { 
   console.log(response)
});

}

以前,我遇到了CORS请求错误,但通过禁用Chromium的网络安全选项解决了该问题。 GET请求有效,但是调用上面的代码时,网站会收到以下响应:

Response {type: "cors", url: "http://localhost:5000/api/v1.0/tasks/", redirected: false, status: 404, ok: false, …}
body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 404
statusText: "NOT FOUND"
type: "cors"
url: "http://localhost:5000/api/v1.0/tasks/"
__proto__: Response

奇怪的是,数据库中记录了一些请求,这意味着它在某个时候可以工作。但是,我不确定此后发生了什么变化。我想念什么?

2 个答案:

答案 0 :(得分:1)

使用长颈瓶cors的代码结构,您应该知道。

from flask import Flask
from flask_cors import CORS

cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
app = Flask(__name__)
CORS(app)

@app.route("/")
@cross_origin()
def helloWorld():
  return "Hello, cross-origin-world! this is Handel cors with all route URL  you"

答案 1 :(得分:0)

您支持的API是什么?

header('Access-Control-Allow-Origin: http://localhost:5000');

如果要通过服务器端ACL管理帖子标题,则需要定义标题,例如 Access-Control-Allow-Origin:*
*表示所有域