3

127.0.0.1 のバックボーン アプリと 127.0.0.1:5000 の Flask サーバーの間でクロス ドメイン リクエストを実行したいと考えています。バックボーンに切り替える前は、Ember.js アプリを使用していましたが、同じ問題がありました。しかし、Flaskアプリにこれを追加することで機能しました:

@app.after_request
def after_request(data):
    response = make_response(data)
    response.headers['Content-Type'] = 'application/json'
    response.headers['Access-Control-Allow-Origin'] = 'http://localhost'
    return response

Ember をRESTAdapter次のように設定します。

adapter: DS.RESTAdapter.create({ 
    url : 'http://127.0.0.1:5000',
    // In order to allow cross domain requests

    ajax: function(url, type, hash) {
       jQuery.ajax(url)
    }
  })
});

しかし、これは私のバックボーン アプリケーションでは機能しません。

XMLHttpRequest読み込めませんhttp://127.0.0.1:5000/files。リクエスト ヘッダー フィールドContent-Typeは では許可されていませんAccess-Control-Allow-Headers

クライアント側でいくつかの設定を変更する必要があると思います。しかし、私は何を知りません。クロスドメイン リクエストを実行できるようにするには、どうすればよいですか?

4

3 に答える 3

3

これが私のために働いたものです。

http://flask-cors.readthedocs.org/en/latest/

$ pip install -U フラスココア

from flask import Flask
from flask.ext.cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'

@app.route("/")
@cross_origin()
def helloWorld():
  return "Hello, cross-origin-world!"
于 2014-10-16T03:05:17.633 に答える
2

追加することで機能しました

response.headers['Access-Control-Allow-Headers'] = "Origin, X-Requested-With,Content-Type, Accept"after_request()メソッドに。

于 2013-05-03T08:34:02.660 に答える
0

開発では、次のことができます。

または単に設定Access-Control-Allow-Originする*

于 2013-05-01T16:03:05.347 に答える