Angularjs'de oluşturduğum bir kodla sunucumdan veri çekiyorum. Daha önce aynı işi JQUERY $.ajax({...}) ile yaptığımda problem yoktu. Bir tane spinner.jpg ekranda dönüyordu ve yaklaşık 2dk sonra veriler geliyordu. Ancak bunu angularjs ile yaptığımda spinner.jpg dönmüyor. Hatta tarayıcı kilitleniyor. Hem google Chrome hem de firefox ile denedim. Hatta firebug ile isteğe baktığımda console ekranındaki spinner bile duruyor.

örnek kod:

$scope.spinnerGoster=true;

$http.get("/stoktakip/urunlistesi/?tip=t").success(function(v){
$scope.Urunler=v;<br/>

$scope.spinnerGoster=false;

  });

JQUERY ile sıkıntı yok:

$("#spinner").css("display","block");

$.ajax({ url:"/stoktakip/urunlistesi/?tip=t",

success:function(v){

$("#tmplListe").tmpl(v).appendTo(#UrunListesi);

$("#spinner").css("display","none"); }

});

soruldu: 26 Ara '14, 09:09

cakaltepe's gravatar image

cakaltepe
1112
cevap kabul oranı: 0%


Şu linkteki örneğe bakabilirsiniz. (Aslında sizin kodunuzun da sorunsuz çalışması gerektiğini düşünüyorum.)

permanent link

cevaplandı: 27 Ara '14, 06:08

ertuncefeoglu's gravatar image

ertuncefeoglu
7705719
cevap kabul oranı: 20%

Sizin gösterdiğiniz sayfada çok güzel çalışıyor ama bende niye çalışmıyor anlayamadım. Sunucu tarafında cevap süresini uzatmak için sleep uyguluyorum ve tarayıcının kitlendiğini tekrar görüyorum. Asenkron olmayınca angularjs'den soğudum :)

(04 Şub '15, 16:23) cakaltepe cakaltepe's gravatar image
1

@cakaltepe AngularJS butun JavaScript frameworkler gibi asyncron calisir, eger cevap gelmeden baska islemler yapmasini engellemek istiyorsaniz sleep bunun icin uygun degil. Sleep ile 30 saniye beklettiniz diyelim server'dan cevap gec gelirse yine cozum olmaz! Bunun icin AngularJS de $promise kullanmalisiniz! Ayrica su loader isinize yariyabilir: http://chieffancypants.github.io/angular-loading-bar/

(04 Şub '15, 16:58) CemIkta ♦ CemIkta's gravatar image

Sleep kullanmamın amacı sunucudan cevabın geç gelmesini istemem. Bu şekilde spinner'ı ve AJAX isteğini kontrol edebiliyorum. Mesela sayfa yüklendiği anda bir input nesnesine focus yapıyorum. JQURY ile bu nesnede imlecim yanım sönüyor. Yani tarayıcımda(firefox,chrome) kilitlenme yok. Ancak Angularjs ile $http isteğinde bulunduğumda input içindeki imlec yanıp sönmüyor. Yani tarayıcım kilitleniyor. Şu an için angularjs'ye ara verdim. İşlerimi jquery ile yapmaya devam :)

(05 Şub '15, 08:49) cakaltepe cakaltepe's gravatar image

Ayrıca loader güzelmiş :) mobile(apache cordova) uygulamalarımda kullanırım :)

(05 Şub '15, 09:10) cakaltepe cakaltepe's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×33
×8
×1

Soruldu: 26 Ara '14, 09:09

Görüntüleme: 1,083 kez

Son güncelleme: 06 Şub '15, 04:52

powered by BitNami OSQA