2

Chrome ネットワーク XHR ツールに表示される私のリクエスト。

General:
Remote Address:127.0.0.1:80
Request URL:http://ws.uvx/app_dev.php/api/venuelogin
Request Method:OPTIONS
Status Code:400 Bad Request

Response Headers:
view source
Access-Control-Allow-Headers:x-custom-auth
Access-Control-Allow-Methods:POST, PUT, GET, DELETE, OPTIONS
Access-Control-Allow-Origin:http://localhost:8383
Access-Control-Max-Age:3600
Cache-Control:no-cache, max-age=604800
Connection:close
Content-Encoding:gzip
Content-Length:52
Content-Type:text/html; charset=UTF-8
Date:Wed, 23 Sep 2015 07:59:04 GMT
Expires:Wed, 30 Sep 2015 07:59:04 GMT
Server:Apache
Vary:Accept-Encoding
X-Debug-Token:8cd64c
X-Debug-Token-Link:/_profiler/8cd64c
X-Powered-By:PHP/5.5.10

Request Headers:
view source
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:es-ES,es;q=0.8,en;q=0.6
Access-Control-Request-Headers:accept, content-type, p
Access-Control-Request-Method:GET
Cache-Control:no-cache
Connection:keep-alive
Host:ws.uvx
Origin:http://localhost:8383
Pragma:no-cache
Referer:http://localhost:8383/UVox%20Mobile/jwt-demo/venuelogin.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36

私のAjax呼び出し:

jQuery.ajax({
    url: "http://ws.uvx/app_dev.php/api/venuelogin",
    type: "GET",
    headers: {
        "p": "1441",
       "Content-type": "application/json"
    }
})

そして Symfony2 の cors 設定:

nelmio_cors:
    defaults:
        allow_credentials: false
        allow_origin: []
        allow_headers: []
        allow_methods: []
        expose_headers: []
        max_age: 0
        hosts: []
        origin_regex: false
    paths:
        '^/api/':
            allow_origin: ['*']
            allow_headers: ['X-Custom-Auth']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE','OPTIONS']
            max_age: 3600

allow_headers: ['X-Custom-Auth'] を allow_headers: ['*'] に変更すると、代わりに 500 エラーが発生します。

私は、API リクエストをチェックする OSX アプリである PAW によって提案されている Content-Type:application/octet-stream も試しました。実際、この要求は PAW から 200 OK です。

また、CURL を実行すると、200 OK で JSON が取得されます。

私は何が欠けていますか?どうもありがとう。

4

1 に答える 1