• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجکس (post) در Zend Framework
#1
با سلام
بنده در Zend Framework بسیار بسیار تازه واردم.
قصد داشتم از طریق $.post در jQuery، ردیفی را در db حذف نمایم که هرچه کردم نشد.
در Google و Youtube هم بسیار سرچ کردم ولی نتیجه نگرفتم، متاسفانه.
ZF version: 1.11.2

application/Bootstrap.php:
کد پی‌اچ‌پی:
protected function _initDb(){
    
$con=array('host'=>'127.0.0.1','username'=>'root','password'=>'','dbname'=>'sample_db');
    
$db=Zend_Db::factory('Pdo_Mysql',$con);$db->query("SET NAMES 'utf8'");    Zend_Registry::set('db',$db);} 
application/controllers/DashboardController.php:
کد پی‌اچ‌پی:
public function indexAction(){
  
$this->_helper->layout->setLayout('a');} 
application/views/scripts/dashboard/index.phtml:
کد:
<a href="javascript:deleteTest('62989c12369ea3c1')">DELETE</a>
public/js/0.js:
کد:
function deleteTest(id){
    if(confirm('Are you sure?'))
        $.post('http://127.0.0.1/Sample4/application/models/Guestdb.php',{funcName:'Delete_Test',id:id},function(r){alert(r)})}
application/models/Guestdb.php:
کد پی‌اچ‌پی:
<?php
class Model_Guestdb{
    public function 
Delete_Test(){
       
$db=Zend_Registry::get('db');
       
$r=$db->query("DELETE FROM `prac` WHERE `id`='".trim((new Zend_Filter_Decrypt(array('adapter'=>'mcrypt','key'=>'thisisakeytolock','vector'=>'myvector')))->filter(hex2bin($this->getRequest()->getPost()['id'])))."'");
        echo
$r?'t':'f';
    }}
$a=new Model_Guestdb();
if(isset(
$_POST['funcName']))call_user_func(array($a,$_POST['funcName']));
elseif(isset(
$_GET['funcName']))call_user_func(array($a,$_GET['funcName'])); 
Output:
کد پی‌اچ‌پی:
Fatal errorUncaught Error: Class 'Zend_Registry' not found in C:\xampp\htdocs\Sample4\application\models\Guestdb.php:6 Stack trace#0 C:\xampp\htdocs\Sample4\application\models\Guestdb.php(35): Model_Guestdb->Delete_Test() #1 {main} thrown in C:\xampp\htdocs\Sample4\application\models\Guestdb.php on line 6 
پیشاپیش ممنون
  پاسخ
تشکر شده توسط :
#2
شما که نمی‌تونید مستقیم به فایل مدل درخواست بدید. باید به ایندکس درخواست بدید و روتر اون رو به یک کنترلر وصل کنه.
حالا چرا zf1 ؟ من اصلا کدهاش رو یادم نمیاد. چرا سراغ zf2 یا zf3 نمیرید؟
  پاسخ
تشکر شده توسط :
#3
دوستان به روشی که در لینک زیر نوشتم، مشکلم حل شد.
ممنون از کمک دوستان
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان