Soru & Cevap

Webview de session problemi ...

08.02.2016 - 08:54

Uygulama içinde Webview de basit bir sayfa içeriğini gösteriyorum.

Sonrasında  sayfa yuklendiğinde webViewDidFinishLoad içinde  stringByEvaluatingJavaScriptFromString komutu ile javascript  function çağırıyorum. 

Serverdan baktıgımızda  javascrit çağrımının farkli bir session id ile yapıldıgı görülüyor.  

Bunun webview  le aynı session dan olmasını nasıl sağlayablirim.  ?  server tarafında kontrolümüzü session id ye göre yapıyoruz. webview in kullandıgı session id ile ,  webview de kullanılan javascriptin aynı  session id olması gerekiyor. 

 

Aşağıda  detaylı açıklamaya çalıştım.   

 

www.abcd.com/giris  sayfasını webview de açıyorum.

Kullanıcı  ad şifre  bilgilerini girerek login  işlemini başlatıyorum.   Bu sırada  karşı tarfta (server da)  benim  oraya gittiğim session id bilgisi saklıyorum. .   

 

Aynı anda   www.abcd.com/giris sayfasın  yüklenmesi tamamlandığında yani login işlemi bittiğinde   server bir java script  function’u tetikliyorum.

Bunu da webViewDidFinishLoad içinde  stringByEvaluatingJavaScriptFromString   komutu ile yapıyorum.

 

Ancak server tarafında javascript fonksiyonu  farklı bir sessiondan tetiklenmiş gibi görünüyor. Farklı bir Session ID alıyor.

Oysaki  ben server tarafında session bazlı kontrol yapmak istiyorum.  İlgili java scriptin, hangi   login olduğum sessiondan  tetiklendiğini eşleştiremiyorum.

 

Kod aşağıdaki gibi;

 

- (void)viewDidLoad {

 

    [super viewDidLoad]; 

   // bu  kısımda sayfayı webviewde açıyorum.    Kullanıcı ad ve soya bilgilerini giridiğimde   https://www.abcd.com/giris sayfası ile beraber karşı tarafa bilgileri gönderiyorum.

  // bu sırada server tarafında bir session id bilgisi alınmış oluyor. 

       [_viewWeb setDelegate:self]; 

        NSString *fullURL = @"https://www.abcd.com/";   

        NSURL *url = [NSURL URLWithString:fullURL];

        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

        [_viewWeb loadRequest:requestObj];  

- (void)webViewDidFinishLoad:(UIWebView *)webView

 // https://www.abcd.com/giris giriş sayfasının  yüklenmesi tamamlandığında  bu ksıım çalışıyor ve    Guncelle javascript fonksiyonunu aşağıdaki çağırıyorum .

// bu  java script karşı tarafta Guncelle fonksiyonunu tetikliyor. Ancak oraya farli bir session id ile gidiliyor. Yukarda  sayfayı ilk açtığım session id ile gidilmiyor.

// Bu nedenle bu java scriptin hangi sessiondan tetiklendiğini anlayamıyorum. 

    [_viewWeb setDelegate:self];  

    NSString *clientIDx =  @“111111111";

    NSString *regidX =  @“2222222”; 

 

    NSString *javaScript1 = [NSString stringWithFormat:@“Guncelle('%@','%@')", clientIDx, regidX, nil]; 

    

    [_viewWeb stringByEvaluatingJavaScriptFromString:javaScript1]; 

}

23 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-11052-1576825910.jpg
alikarakoc
08.02.2016 - 03:04


Dostum sorunu 2 kez okudum ama tam olarak ne yapmak istediğini anlayamadım sorunu net bir şekilde güncelleyebilir misin?