Flask 및 Python에서 POST 요청 문제 해결
P粉476475551
P粉476475551 2023-09-02 14:08:47
0
1
601
<p>저는 Flask의 POST 请求处관리를 위해 클라이언트를 사용하고 있습니다.</p> <pre class="brush:php;toolbar:false;">app = Flask(__name__) CORS(앱) @app.post("/api/clients/") def addClient(): 데이터 = 오픈('./src/clients.json', 'w+') 클라이언트 = json.load(데이터) 요청 = json.loads(request.data) 클라이언트.추가(요구) json.dump(클라이언트, 데이터) 데이터.닫기() 요청 반환</pre> <p>Javascript의 <code>fetch()</code> API时:</p> <pre class="brush:php;toolbar:false;">let u = "http://url/api/clients/n1/" b = {라고 놔두세요 "클라이언트": "n1", '세부정보': { "주소1": "라인1", "주소2": "라인2", "도시": "도시", "이메일": "@", "gst": "gstno" } } const addStudent = async (us, c) => { const 응답 = 가져오기를 기다립니다(us, { 방법: "POST", 헤더: { "콘텐츠 유형": "application/json", }, 본체: c, }); const 데이터 = 응답을 기다립니다.json(); console.log(데이터); }; addStudent(u, b);</pre> <p>浏览器控台显示以下错误:</p> <인용문> <p>访问'url/api/clients/'myfetch被阻止了, 因为源'null'没有'Access-Control-Allow-Origin' 표시.模式设置为'no-cors'以禁用CORS获取资源。</p> </인용문> <p>참고로 다음은 Flask 명령줄에 언급된 오류입니다. </p> <인용문> <p>127.0.0.1 - - [2023년 3월 26일 18:09:05] "POST /api/clients/ HTTP/1.1" 500 - 역추적(가장 최근 호출 마지막): 파일 'E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflaskapp.py', 2551행, <strong>전화</strong> self.wsgi_app(환경, start_response) 반환 파일 "E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflaskapp.py", 라인 2531, wsgi_app 응답 = self.handle_Exception(e) Wrapped_function의 파일 'E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflask_corsextension.py', 165행 cors_after_request(app.make_response(f(*args, **kwargs)))를 반환합니다. 파일 "E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflaskapp.py", 2528행, wsgi_app 응답 = self.full_dispatch_request() 파일 "E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflaskapp.py", 1825행, full_dispatch_request rv = self.handle_user_Exception(e) Wrapped_function의 파일 'E:All_CodesWEB_DEVexcel-o-metervenvlibsite-packagesflask_corsextension.py', 165행 cors_after_request(app.make_response(f(*args, **kwargs)))</p>를 반환합니다. </인용문> <p><strong>위에서 언급한 대로 특정 헤더를 추가해야 합니까, 아니면 Flask 측에 버그가 있습니까? </strong> 명령줄의 마지막 줄에서 CORS 오류가 발생하는 것 같습니다. </p>
P粉476475551
P粉476475551

모든 응답(1)
P粉459578805

사용해보고 확인해 주실 수 있나요?

방법 1

Flask-cors 설치

으아악

그런 다음 애플리케이션이 초기화된 후 기본 매개변수를 사용하여 Flask-cors를 초기화합니다.

으아악

업데이트

방법 2

추가 패키지를 사용하고 싶지 않다면 이렇게 해도 됩니다

으아악

다음 코드를 사용하여 엔드포인트를 정의해 보시기 바랍니다

으아악

대신

으아악

참조 링크 - Flask http 메소드

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿