7

この質問に従ってくださいHow to set access-control-allow-origin in webrick under rails? 、私はlocalhost からlocalhost : 3000GETにできます。POST

ただし、エラーが発生しましDELETEPUT

これは、クロスドメインアクセスを許可する方法です

class ApplicationController < ActionController::Base
    protect_from_forgery
    before_filter :allow_cross_domain_access
    def allow_cross_domain_access
        response.headers["Access-Control-Allow-Origin"] = "*"
        response.headers["Access-Control-Allow-Methods"] = "*"
    end
end

それを修正する方法はありますか?

4

2 に答える 2

11

*Access-Control-Allow-Methods応答ヘッダーの有効な値ではありません。実際のメソッドをリストする必要があります。

response.headers["Access-Control-Allow-Methods"] = "GET, PUT, POST, DELETE"

また、リクエストにカスタム リクエスト ヘッダーがある場合は、それらもリストする必要があります。

response.headers["Access-Control-Allow-Headers"] = "Content-Type, X-Requested-With"

OPTIONS最後に、コントローラーでhttp リクエストを許可する必要があることに注意してください。これは、PUT または DELETE リクエストを作成するときに必要な CORS プリフライト リクエストを許可するためです。

于 2013-01-15T03:53:38.823 に答える