サーバー側とクライアント側の両方でCORSを有効にすると、ExtJSを他のポートに呼び出すことができます。
Grailsの
このpluginをインストールしてConfig.groovyに次の設定を追加することができますGrailsの側でCORSを有効にするには。基本的には、どのドメインでもこのアプリケーションにリクエストできることを伝えています。私たちは、単純にすべてのAJAX要求をbeforerequest
リスナーを追加することができ、これを行うために、同様のExtJS側でCORSを有効にする必要があり
cors {
enabled = true
url.pattern = '*'
allow.origin.regex = '.*'
headers=[
'Access-Control-Allow-Headers': 'origin, authorization, accept, cookie, set-cookie, content-type, x-requested-with',
'Access-Control-Allow-Methods': 'GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS',
'Access-Control-Max-Age': 3600
]
}
ExtJSの
。また、私は自分のAPI Urlを設定できる共通の場所を持つことを好むので、プロキシのようなすべての場所でAPI URLを定義するのではなく、AJAXの要求を集中させることができます。
これは、アプリケーションの起動方法に次のコードを追加することで可能です。
var API_URL = 'http://localhost:8080/grailsappp'
Ext.Ajax.on({
beforerequest: function(conn, opts){
if(opts.url) {
opts.url = API_URL + opts.url;
}
conn.setCors(true);
}
});
開発環境だけを求めていますか? – JChap