Zend modeli klasöre JavaScript dosyası bağlantı nasıl

1 Cevap php

Tamam çok Ive sadece bu Javascript dosyası var:

$(document).ready(function() {
    $('.status').prepend("<div class='score_this'>(<a href='#'>score this item</a>)</div>");
    $('.score_this').click(function(){
        $(this).slideUp();
        return false;
    });

    $('.score a').click(function() {
        $(this).parent().parent().parent().addClass('scored');
        $.get("/js/Rating.php" + $(this).attr("href") +"&update=true", {}, function(data){
            $('.scored').fadeOut("normal",function() {
                $(this).html(data);
                $(this).fadeIn();
                $(this).removeClass('scored');
            });
        });
        return false; 
    });
});

O /js/Rating.php, bu dosya olduğunu söylüyor nerede uygulama dışında erişilebilir cant bazı Zend mantık içerdiğinden application/modules/recipes/models / Rating.php, bu.

1 Cevap

Kontrolör ile. Yani sadece makul yoldur.

JavaScript değil, sunucu, istemci tarafında yürütülür hatırlıyorum. Kullanıcıların doğrudan Modeli üzerinde app FrontController aracılığıyla MVC app (Derecelendirme modelinde örneğin etki mantık) erişmek değil gerekiyordu, çünkü kamuya açık webroot dışında modelleri yerleştirilmiş.

.get() Ajax isteği verir beri Başka bir deyişle, size app Puanları denetleyicisi bu isteği doğrudan ve Puanlar denetleyici uygulamanızda uygun modeli diyoruz yapmalıdır. Model kontrolörü şey döner ve kontrolör daha sonra istemciye bu sonucu verir.

Örnek:

$.get("/rating/update/someParamId/someParamValue");

Bu, varsayılan kuralları yeniden kullandığınızı varsayar. Sizin denetleyicisi sonra $this->getRequest()->getParam('someParamId') yapabileceği ve 'someParamValue' içerecektir. Kontrolör genellikle geri istemciye eylem tarafından işlenen ViewScript dönecektir, böylece sadece HTML parçasını döndürmek için düzenini devre dışı bırakmak isteyebilirsiniz.