1

私はこのばかげた小さな問題で一日を無駄にしてきました!

django-rest-frameworkフロントエンドで api と backbone.jsを使用しています。

オプションを追加するときに、サーバーに要求を行うことができませんcontentType

これが私がやろうとしていることの簡単な例です:

$.ajax
    url:"http://127.0.0.1:8080/foo/"
    type:"POST"
    data: '{"e":"e"}'
    contentType: "application/json"

OPTIONS は失敗し、POST は送信されません。

オプションのリクエスト ヘッダーは次のとおりです。

Access-Control-Request-Headers:accept, origin, content-type
Access-Control-Request-Method:POST
Origin:http://localhost:8000

OPTIONSが失敗する理由がわかりません。私はdjangoにcorsheadersアプリを使用しています。設定は次のとおりです。

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_HEADERS = (
    'x-requested-with',
    'content-type',
    'accept',
    'origin',
    'authorization'
)
4

1 に答える 1

3
CORS_ORIGIN_ALLOW_ALL = True

次の設定が正しく行われていれば十分です

INSTALLED_APPS = (
    *
    'corsheaders',
)

MIDDLEWARE_CLASSES = (
    *
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
)
于 2015-04-09T04:43:11.493 に答える