0

Sencha Touch 2 アプリケーションを持っています。

現在、JsonP を使用して認証情報をサーバー API (POST) に送信すると、サーバーは Json オブジェクト (JsonP として渡される) で応答します。サーバーも Cookie を送信します

アプリをリロードすると、Cookie は保持されません。

Sencha Touch アプリで Cookie を維持する必要があります...どうすればいいですか?

ありがとうシモーネ

Ext.data.JsonP.request({
    url: AshtonConfigurations.logOn,
    callbackKey: 'callback',
    method: 'POST',
    //-----------------
    withCredentials: true,
    useDefaultXhrHeader: false,
    //-----------------
    params: {
        UserName: username,
        Password: password,
        RememberMe: 'true',
        DeviceTokenNotification: pushIdToken
    },
4

1 に答える 1

2

JsonP は JS 埋め込みタグを使用してリモート URL からデータをフェッチするため、POST をサポートしていません。同じ理由で、HTTP ヘッダーと Cookie は機能しません。

詳細については、こちらをお読みください: http://docs.sencha.com/touch/2-1/#!/api/Ext.data.proxy.JsonP

Cookie を交換する場合は、CORS が有効になっているサーバーと通信する Ajax プロキシを使用する必要があります。

参考までに、デスクトップ ブラウザーのセキュリティ ポリシーは、バンドルされているアプリの webview とは異なるため、アプリをビルドすると、AJAX はリモート サーバーで動作します。そのようにしたい場合は、開発の進め方について議論するこのスレッドを通過する必要があります

開発中に json プロキシを使用してリモート サービスにアクセスする方法

私が推奨しない GET リクエストを使用して更新を提案する人がいます。

于 2013-03-04T13:35:57.700 に答える