นี่คือรหัสของฉัน:
@app.route('/hello', methods=["POST"])
def hello():
resp = make_response()
resp.headers['Access-Control-Allow-Origin'] = '*'
return resp
อย่างไรก็ตามเมื่อฉันส่งคำขอจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์ของฉันฉันได้รับข้อผิดพลาดนี้:
XMLHttpRequest cannot load http://localhost:5000/hello.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
ฉันได้ลองใช้วิธีนี้เช่นกันโดยตั้งค่าส่วนหัวการตอบกลับ "หลัง" คำขอ:
@app.after_request
def add_header(response):
response.headers['Access-Control-Allow-Origin'] = '*'
return response
ไม่มีลูกเต๋า ฉันได้รับข้อผิดพลาดเดียวกัน มีวิธีตั้งค่าส่วนหัวการตอบสนองในฟังก์ชันเส้นทางหรือไม่? สิ่งนี้จะเหมาะ:
@app.route('/hello', methods=["POST"])
def hello(response): # is this a thing??
response.headers['Access-Control-Allow-Origin'] = '*'
return response
แต่ฉันหาวิธีทำไม่ได้อยู่ดี กรุณาช่วย.
แก้ไข
ถ้าฉันขด URL ด้วยคำขอ POST ดังนี้:
curl -iX POST http://localhost:5000/hello
ฉันได้รับคำตอบนี้:
HTTP/1.0 500 INTERNAL SERVER ERROR
Content-Type: text/html
Content-Length: 291
Server: Werkzeug/0.9.6 Python/2.7.6
Date: Tue, 16 Sep 2014 03:58:42 GMT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
ความคิดใด ๆ ?