SORU
4 ŞUBAT 2009, ÇARŞAMBA


JavaScript bir işlevi çağıran bir Ajax yanıt döndürdü

Bir işlevi, bir komut bloğu döndüren bir Ajax komut gönderiyorum bir sistem var. Bu verileri doğru DİV takıldıktan sonra, bu işlev arayabilmesi için gerekli eylemleri gerçekleştirmek için olmak istiyorum.

Bu mümkün mü?

CEVAP
4 ŞUBAT 2009, ÇARŞAMBA


Bence doğru yorumlamak Sorunuzun altında bu formu: "TAMAM, ben zaten bitmiş olan tüm Ajax şeyler; keşke bilmek eğer JavaScript işlevi benim Ajax geri arama içine yerleştirilmiş DİV çağrılabilir. herhangi bir zaman, o an, yani ben istemiyorum ara o anki olay için geri dönmek".

Eğer cevap evet böyle bir şey demek istiyorsan TAMAM, aşağıdaki durumlarda tarayıcı içinde sayfa sebat boyunca herhangi bir zamanda o anda yeni bir kod çağırmak

1) JavaScript kodu Ajax geri arama tarafından döndürülen sözdizimsel TAMAM olmalıdır;
2) Bile, işlev bildirimi eklenir <script> blok içinde mevcut <div> öğesi, tarayıcı olmayacak biliyorum yeni bir işlevi var, " olarak ilan kodu asla idam edildi. Yani gerekir eval() sicil kodu etkin bir şekilde yeni bir işlev bildirmek ve bütün sayfa boyunca kullanılabilir olması için Ajax tarafından geri döndü.

Oldukça aptal bile, bu kod fikri açıklıyor:

<html>
    <body>
        <div id="div1">
        </div>
        <div id="div2">
            <input type="button" value="Go!" onclick="go()" />
        </div>
        <script type="text/javascript">
            var newsc = '<script id="sc1" type="text/javascript">function go() { alert("GO!") }<\/script>';
            var e = document.getElementById('div1');
            e.innerHTML = newsc;
            eval(document.getElementById('sc1').innerHTML);
        </script>
    </body>
</html>

Ajax kullanmadım, ama mantık aynı olup olmadığından emin seçtim örneği çok akıllı değil ise bile (: -)

Daha fazla veya daha az uygun yansıtmak ayrı bir işlevi genelleme yapmak olsun .genel olarak konuşursak, çözüm tasarım söz konusu değil, yani js dosyası ve benzeri, ama lütfen unutmayın ki bu bir çözüm olabilir yükseltmek daha fazla sorun, özellikle eğer Ajax çağırmaları gerektiğini tekrar ediyorum, Yani eğer içeriği aynı işlevi gerekir değiştirmek ya diye ilan etti işlevi sebat olmalıdır endişe, işte bu yüzden ciddi ciddi düşünmeye değişiklik tasarımı için bir tavsiye edilen örneklerde bu konuyu.

Eğer sorunuzu yanlış anlamışım son olarak, eğer, ve söz ediyorsunbağlamsalçağırma işlevi ne zaman Ajax geri döner, o zaman benim duygu tavsiye Prototip yaklaşım described by krosenvold olduğu, - çapraz tarayıcı, test edilmiş ve tamamen işlevsel, ve bu-ebilmek vermek sen daha iyi bir yol haritası için gelecekteki uygulamaları.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008