Bir Ajax isteği ile bir sınıf Calling

4 Cevap php

Şu anda, benim kendi MVC framework kullanıyorum. Ne yapmaya çalışıyorum jQuery ile bir Ajax çağrısı (aşağı o bölümü var) yapmak, ve ben Ajax çağrısından döndürülen istediğim çıktı ona olsun değişkenleri geçmek ve böylece denetleyici bir yöntem üzerinde çağırır .

Bu formların dolu bir sayfa ve ben her bir yenileme üzerinde sıfırlamak olmak istemiyorum çünkü ben sayfayı yenileyin olamaz. Ne Model ve Controller noktası olacağını, çünkü ben de, ben ihtiyacım işlevi var olabilecek bir "handle.php" onu geçemez?

Ben ne yapabilirim? Ya da daha doğrusu, daha da önemlisi, böyle bir şey yaklaşım en iyi yolu nedir? Ben tekrar ihtiyaç sınıfları (yaklaşık 6 çünkü ben kullanmak uzanır gerekir) ve uygun yöntemi çağıran yeni bir nesne örneğini yükleyebilir miyim?

Bu benim kendi MVC çerçeve oluşturmak için çalışıyoruz yerine Zend gibi bir şey öğrenmek için benim hatam, ama nedir done sanırım. Herhangi bir yardım mutluluk duyacağız, sadece doğru yönde işaret olması gerekir.

4 Cevap

Senin soru size almak için çalışıyoruz verilerin ne tür bulmak biraz zor. Eğer formları doldurmak için veri almak gerekir mi? Yoksa PHP komut dosyası kullanarak geri veritabanına formlardan veri geçmek gerekiyor?

Her iki durumda da, ben bir 'handle.php' komut muhtemelen iyi çalışır sanırım. Sadece, gelen verileri işlemek bunu doğrulamak ve veritabanında kaydetmek için (belki __ autoload kullanarak) uygun sınıfları yükleyebilirsiniz çıplak kemikleri komut bir tür yapmak.

Sen daha büyük olasılıkla bir sayfada herhangi bir diğer denetleyici / yöntem kombinasyonu diyebileceğim çok aynı şekilde bir istek yapmak isterim. Örneğin, Ajax ve sadece /ajax/update bağlantı olur bu nedenle yöntemi Update ... Sen umarım URL yönlendirme olurdu denetleyicisi aramaya çalışıyoruz varsayalım. Bu ideal bir çözümdür.

Böyle bir yöntem içinde bir şablon / düzen / görünüm kombinasyonu görüntülemeye çalışırken karşı sonuçlarınızı yankı isterim. Bu umarım böyle bir şey için izin vermek için CMS çimdik gerekir ama anlamına gelebilir.

Sizin yöntemi Update daha muhtemel globalleri yüzden AJAX isteği gönderilen verileri almak olabilir $ _POST ve $ _GET erişimi olmalıdır.

Sen arıyorsun hangi komuta belirlemek için bir yol olmalı, bu yüzden gitmek gerekir nereye denetleyici belirleyebilirsiniz.

Bir form # ve komuta geçmek Örneğin, denetleyicisi sonra ihtiyacınız işlemi yapmak için nasıl belirleyebilirsiniz, belirli bir form için kontrolöre bu kapalı geçebilir.

Ben bunu çok uzun bir switch ifadesi anlamına olacak gibi bir noktada, tek bir denetleyici tüm bu mantığı olması riskli olduğunu düşünüyorum.

Şu anda, size nasıl yardımcı olarak sadece tahmine gibi, yönlendirmeyi belirlemek için, sizin denetleyici javascript (istemci) girişini nasıl işlediği hakkında daha fazla açıklamak isteyebilirsiniz.

Sen söylüyorsun;

As of right now I don't have a controller handling javascript which is my problem

Anlıyorum olarak denetleyici bir ajax isteği işleme bir denetleyici gerekmez. Eğer normal bir istek olduğu gibi ajax isteği yapmak. Yani kontrolör normal bir istek onun zaten taşıma javascript ile ne yapacağını bilir.

Ben kitap örneğin doğru anlamak eğer Yine böyle bir şey yapmak gerekir;

$.get("/books/search/plato",  function(data){
    alert("Data Loaded: " + data);
});

Ve / oyun ve degrade şey için bu çalışması gerekir; Sen handle.php Bu çağırabilirsiniz ve oyun denetleyicisi talep ve verileri döndürür;

$.get("/playground/gradient",  function(data){ //data is what is returned from playground file
    alert("Data Loaded: " + data);
});

Umarım bu yardımcı olur