5

スタレスリモート サーバーに接続する必要があるphonegapアプリケーションを開発しています。リモート リクエストの一部は認証されており、remember-me サービスを使用する予定でした。したがって、アプリケーションからは、 jQuery $.ajaxで実行される次のリクエストに変換されるログイン オプションがあります。すべてのリクエストがapplication/jsonであることに注意してください

POST リモートサーバー/api/ユーザー/ログイン

サーバーはCookieを設定して応答します

セット Cookie REMEMBER_ME_COOKIE=amVzdS5hbG9uc29AZ21haWwuY29tOjEzNTEwMDg1NTg1NDY6ODdkOGFhNzEzY2NiZTRhZTIwZjZlNzgyY2E1ZmQyODY; Expires=Tue, 23-Oct-2012 16:09:18 GMT; パス=/; HttpOnly

クロスドメイン リクエストを機能させるために、サーバーは OPTIONS リクエストに対して次のように応答します。

Access-Control-Allow-Headers : Content-Type, *
Access-Control-Allow-Origin : *
Access-Control-Max-Age : 1000

ただし、サーバーへの次のリクエストは Cookie ヘッダーを設定していません。

1) クッキーを機能させることは可能ですか?

2) $.ajax リクエストに Cookie を手動で追加しようとしましたが、どちらも機能しません。それは何か間違っていますか?

$.ajax({
        type : type,
        url : url,
        data : data,
        success : callback,
        dataType : dataType,
        contentType : contentType,
        beforeSend: function(xhr) {
            xhr.setRequestHeader("Cookie", "REMEMBER_ME_COOKIE=amVzdS5hbG9uc29AZ21ha");
          },
        error : function(jqXHR, textStatus, errorThrown) {
            handleError(jqXHR, textStatus, errorThrown);
        }
    });
4

1 に答える 1

1

ヘッダーをリクエストに構造化しようとしましたか?

$.ajax({
        type : type,
        url : url,
        data : data,
        success : callback,
        dataType : dataType,
        contentType : contentType,
        headers:{
             "Cookie" : "amVzdS5hbG9uc29AZ21ha"
        },
        error : function(jqXHR, textStatus, errorThrown) {
            handleError(jqXHR, textStatus, errorThrown);
        }
    });
于 2012-10-09T16:42:31.807 に答える