解决Flask和Python中POST请求的问题
P粉476475551
P粉476475551 2023-09-02 14:08:47
0
1
426
<p>我正在编写一个Flask的POST请求处理程序来添加一个CLIENT。</p> <pre class="brush:php;toolbar:false;">app = Flask(__name__) CORS(app) @app.post(&quot;/api/clients/&quot;) def addClient(): data = open('./src/clients.json', 'w+') clients = json.load(data) req = json.loads(request.data) clients.append(req) json.dump(clients, data) data.close() return req</pre> <p>但是当我在浏览器中执行这个Javascript的<code>fetch()</code> API时:</p> <pre class="brush:php;toolbar:false;">let u = &quot;http://url/api/clients/n1/&quot; let b = { &quot;client&quot;: &quot;n1&quot;, &quot;details&quot;: { &quot;address1&quot;: &quot;Line1&quot;, &quot;address2&quot;: &quot;line2&quot;, &quot;city&quot;: &quot;city&quot;, &quot;email&quot;: &quot;@&quot;, &quot;gst&quot;: &quot;gstno&quot; } } const addStudent = async (us, c) =&gt; { const response = await fetch(us, { method: &quot;POST&quot;, headers: { &quot;Content-Type&quot;: &quot;application/json&quot;, }, body: c, }); const data = await response.json(); console.log(data); }; addStudent(u, b);</pre> <p>浏览器控制台显示以下错误:</p> <blockquote> <p>访问'url/api/clients/'的fetch被阻止了,因为源'null'没有'Access-Control-Allow-Origin'头。如果一个不透明的响应满足您的需求,请将请求的模式设置为'no-cors'以禁用CORS获取资源。</p> </blockquote> <p>供参考,这些是Flask命令行中提到的错误:</p> <blockquote> <p>127.0.0.1 - - [2023 年 3 月 26 日 18:09:05] “POST /api/clients/ HTTP/1.1” 500 - 回溯(最近一次调用最后一次): 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask\app.py”,第 2551 行,<strong>调用</strong> 返回 self.wsgi_app(环境,start_response) 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask\app.py”,第 2531 行,在 wsgi_app 中 响应 = self.handle_exception(e) 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask_cors\extension.py”,第 165 行,位于wrapped_function 中 返回 cors_after_request(app.make_response(f(*args, **kwargs))) 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask\app.py”,第 2528 行,在 wsgi_app 中 响应 = self.full_dispatch_request() 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask\app.py”,第 1825 行,在 full_dispatch_request 中 rv = self.handle_user_exception(e) 文件“E:\All_Codes\WEB_DEV\excel-o-meter\venv\lib\site-packages\flask_cors\extension.py”,第 165 行,位于wrapped_function 中 返回 cors_after_request(app.make_response(f(*args, **kwargs)))</p> </blockquote> <p><strong>我是否需要添加特定的头部,如上述所述,或者我在Flask端存在一些错误?</strong> 命令行中的最后一行似乎给出了CORS错误。</p>
P粉476475551
P粉476475551

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!