Javascript 获取POST请求失败:CORS标头
下面是将post请求发送到本地托管的RESTAPI的代码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
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请求,服务器上已成功创建了一个或多个新资源。现在您需要返回一个带有响应的数据。