Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取POST请求失败:CORS标头_Javascript_Rest_Post_Fetch - Fatal编程技术网

Javascript 获取POST请求失败:CORS标头

Javascript 获取POST请求失败:CORS标头,javascript,rest,post,fetch,Javascript,Rest,Post,Fetch,下面是将post请求发送到本地托管的RESTAPI的代码 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/jso

下面是将post请求发送到本地托管的RESTAPI的代码

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的web安全选项解决了这个问题。GET requests工作,但是当调用上述代码时,网站会收到以下响应:

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

奇怪的是,数据库中记录了一些请求,这意味着它在某个点上工作。然而,我不确定从那以后发生了什么变化。我缺少什么?

您支持的API是什么?

header('Access-Control-Allow-Origin: http://localhost:5000');
如果有人从服务器端ACL管理post标头,则需要定义一个标头,如访问控制允许来源:

*是指所有域

您的代码结构都使用了flask-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"


后端正在Python(Flask)上运行。但是,相同的后端可用于GET请求。它是否可能适用于GET请求和POST请求?代码中缺少一个用于交叉源的include。不管怎样,问题仍然存在。但是,我确实看到请求到达API,因此我将检查URL传递是否有问题,因此出现了一些小错误,现在我得到一个代码201(API中正在设置)。但是,我没有看到API应该发送回的信息。HTTP状态201(已创建)HTTP状态201表示,由于HTTP POST请求,服务器上已成功创建了一个或多个新资源。现在您需要返回一个带有响应的数据。