2016-05-18 13 views
1

で「いいえ 『アクセス制御 - 許可 - 起源』ヘッダ」エラー私は角アプリからフラスコサーバーにPOSTリクエストを作成する、次のCORSエラーを取得しています:フラスコPOSTリクエスト[CORS]

No 'Access-Control-Allow-Origin' header is present on the requested resource.

フラスコサーバ:

from flask import Flask, request 
from flask.ext.cors import CORS 
app = Flask(__name__) 
cors = CORS(app) 

@app.route('/testPost', methods=['POST']) 
def testPost(): 
    phone = request.values.get('phone') 
    return phone 

if __name__ == '__main__': 
    app.run(debug=True) 

私は運と異なるレスポンスヘッダの組み合わせを試してみました。飛行前のOPTIONS要求が200以下のヘッダでOK

レスポンスを返します:

HTTP/1.0 200 OK 
Content-Type: text/html; charset=utf-8 
Allow: POST, OPTIONS 
Access-Control-Allow-Origin: http://localhost:7000 
Access-Control-Allow-Headers: accept, content-type 
Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT 
Content-Length: 0 
Server: Werkzeug/0.11.3 Python/2.7.11 
Date: Wed, 18 May 2016 00:58:10 GMT 

を要求:

OPTIONS /testPost HTTP/1.1 
Host: localhost:5000 
Connection: keep-alive 
Cache-Control: max-age=0 
Access-Control-Request-Method: POST 
Origin: http://localhost:7000 
Access-Control-Request-Headers: accept, content-type 
Accept: */* 
Referer: http://localhost:7000/ 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: en-US,en;q=0.8 

答えて

0

エラーがtestPost()メソッドの私の戻り値の型にありました。このメソッドはjsonレスポンスを返す必要があります。

from flask import Flask, request 
from flask.ext.cors import CORS 
app = Flask(__name__) 
cors = CORS(app) 

@app.route('/testPost', methods=['POST']) 
def testPost(): 
    phone = request.json['phone'] 
    return phone 

if __name__ == '__main__': 
    app.run(debug=True)