我尝试使用axios对烧瓶服务器进行POST:
var config = { headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'}
}
axios.post("http://127.0.0.1:5000/test",
{ label : "Test" , text : "Test"} , config
)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
现在是烧瓶的部分
...
data = request.get_json(silent=True)
item = {'label': data.get('label'), 'text': data.get('text')}
print item
...
但是,我最终会出现以下错误:
无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。
为什么?我将按照建议设置标题。
这里是解决方案
from flask_cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app, resources={r"/YOURAPP/*": {"origins": "*"}})
如果其他人被卡住了,一定要在请求方法之前检查,
之后检查。我的问题是:
@app.before_request
def oauth_verify(*args, **kwargs):
"""Ensure the oauth authorization header is set"""
if not _is_oauth_valid():
return some_custome_error_response("you need oauth!")
因此,这将在任何请求中引发异常,包括
OPTIONS
方法。当然,解决方法很简单:
@app.before_request
def oauth_verify(*args, **kwargs):
"""Ensure the oauth authorization header is set"""
if request.method in ['OPTIONS', ]:
return
if not _is_oauth_valid():
return some_custome_error_response("you need oauth!")
您需要向Flask应用程序添加CORS支持。这里有一个相关的威胁:Flask CORS不是为POST工作,而是为GET工作。烧瓶常用的CORS扩展可在此处找到:https://flask-cors.readthedocs.io/en/latest/.
问题内容: 我正在开发一个React应用,该应用需要从elsaticsearch获取数据。在前端,实际上我正在尝试使用axios来执行请求: 我想获取带有某些ID的特定文档。上面的查询实际上在kibana内部有效。但是,以上查询返回my-type内的所有文档,我在这里做错了什么? 问题答案: 我认为以下应该可行。虽然爱可信自述说,是专门只为,,和请求,我没有看到在强制执行此代码的任何,和简化的测试
这个请求在postman中工作得非常好,所以我认为它与cors相关,并安装了fastify-cors,但我仍然得到同样的错误。 有人有什么建议如何解决这个问题吗?
axios请求点击控制器上的url,但将空值设置到POJO类中,当我使用chrome中的开发人员工具时,有效负载包含数据。我做错了什么? Axios POST请求: 浏览器响应: 过帐多部分/表单数据时出错。Content-Type标头缺少边界 谁能解释一下如何设置边界或者我如何使用Axios发送表单数据。
问题内容: 我正尝试从其自己的视图之一向我的Flask应用发送发布请求,但该请求一直挂起,直到我杀死服务器为止。如果我使用JavaScript进行请求,则效果很好。为什么从Python代码中不起作用? 问题答案: 在1.0之前,Flask的开发服务器默认为单线程。在这种模式下,它一次只能处理一个请求。发出请求直到接收到响应为止。您的Flask代码在一个线程中发出一个请求,然后等待。没有其他线程可以
问题内容: 我正在使用Axios从客户端向我的Express.js服务器发送请求。 我在客户端上设置了一个cookie,我想从所有Axios请求中读取该cookie,而无需手动将其手动添加到请求中。 这是我的客户端请求示例: 我试图通过在Express.js服务器中使用以下属性来访问标头或cookie: 他们两个都不包含任何cookie。我正在使用cookie解析器中间件: 如何使Axios自动在
发送请求 发送同步请求 Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/ Web3ClientVersion web3ClientVersion = web3.web3ClientVersion().send(); String clientVersion = web3Client