2

JSON応答とCookieを返すWebサービス「someWebServiceOnServer」があります。ブラウザからこの URL にアクセスすると、次のように表示されます。

{"IsAuth":true,"Message":"","UserName":"guest"}

Resources -> Cookies のページを調べると、Cookie セットが表示されます。

Sencha Touch 2 アプリケーションで、次のように ajax 呼び出しを行っています。

Ext.Ajax.request({
url: 'someWebServiceOnServer',
useDefaultXhrHeader: false,
callback: function(options, success, response) {
console.log(response.responseText)
},
});

これを実行すると、期待どおりの JSON 応答が得られます。しかし、クッキーは設定されていません。また、応答ヘッダーに Cookie が見つかりません。なぜこれが起こるのですか?

注: CORS はサーバーに実装されており、アプリケーションはこのサービスにアクセスできます。withCredentials: true,エラーになるので使っていませんXMLHttpRequest cannot load . Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true.

ブラウザですでに Cookie が有効になっています。

この Cookie 情報をサーバーに送り返す後続の呼び出しを行うため、Cookie が必要です。

4

2 に答える 2

2

これを試して:

サーバー応答に次のヘッダーを追加します。

Access-Control-Allow-Origin: http://clientdomain.com
Access-Control-Allow-Credentials: true

withCredentials: trueそして、Ajax リクエストを追加します。

于 2013-01-10T16:48:21.503 に答える