2011-02-26 28 views
11

JQuery ile (telefon tabanlı) telefon konuşması ile geliştirilen yerel iphone uygulaması web sunucusuna giriş yapabilir ve kullanıcılar giriş yaptıktan sonra kaynaklarına erişebilirler. Sunucu, kullanıcı kimliği doğrulandıktan sonra oturum kimliğini çerezde ayarlar.Çerez, jquery ile phonegap uygulamasında nerede yönetiliyor?

Bu şemada herhangi bir sorun yaşıyorum ancak uyarı (document.cookie) yaptığımda, boş dizge döndürdüğü için çerezin nerede saklandığını merak ediyorum.

jquery'deki ajax işlevinin, çerezi dahili olarak yönetmesi ve her istek için aynı etki alanına göndermesi mümkün mü?

+0

Her mobil uygulama için iphone sanal alan tarayıcı ortamı görünüyor. Bunun sebebi olabileceğini düşünüyorum. – katsuya

cevap

14

size appDelegate.m dosyasına bu eklemek için uygulama otomatik olarak çerezleri yönetmek isterseniz:

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage 
             sharedHTTPCookieStorage]; 
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

kendiniz oturum bilgilerini yönetmek isterseniz, bu gibi tüm ajax istekleri yapabilir : ilk yöntem keşfetti kadar benim app

var request = { 
       url: my_server_url, 
       success: function(response, status, request) { 
        var header = request.getAllResponseHeaders(); 
        var match = header.match(/(Set-Cookie|set-cookie): (.+?);/); 
        if(match) 
         my_saved_cookie = match[2]; 
       }, 
       } 

if(my_saved_cookie) 
    request.headers = { Cookie: my_saved_cookie }; 

$.ajax(request); 

Ben ikinci yöntemi kullanarak kendim oturum çerezleri yönetmek edildi.

+2

İlk yöntem iOS5 simülatörde çalışmaz, Apple'ın davranışını değiştirdiği anlaşılıyor. İkinci yöntem iyi çalışıyor. – Chris

+1

Bu ajax isteği için iyi çalışıyor. Ancak, resim ve diğer kaynaklar için nasıl ele alınmalıdır. – gviswanathan

+0

@Chris: Bu yöntem iOS5 için düzgün çalışmalı, kodu doğru dosyaya eklediğinizden emin olun. –

İlgili konular