Orada Stackland hi! İşte benim sorunum:
Ben bir veritabanından bir dizi yüklemek için benim Zend denetleyicisi kullanın, ve sonra javascript onu geçmek istiyorum. Bu, bu en dizisinin denetleyici sormak json kodlamak, ve sonra aşağı geçmek için ajax kullanmak için yapmak en iyi yolu karar verdik. Ancak, ben bu ajax denilen aldığında aşağı geçecek eylem benim ilk eylem yüklenen değişken geçirmek için nasıl bilmiyorum.
Görünüm üretir orijinal bir eylem
public function indexAction()
{
$storeid = $this->getStoreId();
if(!$storeid)
{
$this->_forward('notfound');
return;
}
$store = $this->_helper->loadModel('stores');
$store->getByPrimary($storeid);
}
Ajax denilen edilecek eylem
public function getdataAction()
{
$this->_helper->Layout->disableLayout(); // Will not load the layout
$this->_helper->viewRenderer->setNoRender(); //Will not render view
$jsonResponse = json_encode($store);
$this->getResponse()->setHeader('Content-Type', 'application/json')
->setBody($jsonResponse);
}
Ne istiyorsun jsonResponse olarak mağaza göndermek böylece getdataAction için indexAction dolar mağaza geçmektir. Not, bu iki farklı zamanlarda denir.
Çalışmadım ben denedim şeyler:
ayarını $ this-> getRequest () -> setParam ('mağaza', $ store) indexAction yılında, ve sonra $ kullanarak bu-> getRequest () -> GetParam ('mağaza'), getdataAction içinde. Ben bu farklı http isteklerini çünkü çalışmış, bu yüzden yeni bir param takmak işe yaramaz değil sanırım.
, kontrol cihazının kendisi de $ _store korunur ve daha sonra indexAction ile buna tasarrufu ve getdataAction bunu kullanarak kullanarak. Ben bu çalışmıyor neden gerçekten emin değilim.
Bu şekilde bir değişken geçmek için iyi bir yolu var mı? Farklı denetleyiciler arasında bir değişken geçmek için bir yolu var mı? (Ben birine cevap varsayalım diğer cevaptır). Ben bir kontrolör yardımcısı depolamak misiniz? Ben çalışmak istiyorum biliyorum ama gereksiz gibi görünen bir oturumu, kullanmak zorunda mı? Javascript değişkenler geçmek için daha iyi bir yolu var mı? Ben çok soru soruyorum? Herhangi bir yardım olağanüstü olurdu. Teşekkürler.