저는 Zend Framework에서 매우 새로워졌습니다. jQuery에서 $ .post를 통해 db에서 한 행을 삭제하고 싶습니다. 나는 또한 Google과 Youtube에 대한 많은 연구를 수행했지만 불행히도 결과를 얻지 못했습니다. 도와주세요. ZF 버전 : 1.11.2Zend Framework의 Ajax Post
응용 프로그램/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);
}
응용 프로그램/컨트롤러/DashboardController.php :
public function indexAction(){
$this->_helper->layout->setLayout('a');
}
신청/조회/스크립트/대시 보드/index.phtml :
<a href="javascript:deleteTest('62989c12369ea3c1')">DELETE</a>
공공 /의 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)})
}
응용 프로그램/모델/Guestdb.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']));
출력 : 사전에 내 영어 제발 도와주세요
감사에 대한
Fatal error: Uncaught 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
죄송
"클래스 'Zend_Registry'을 찾을 수 없습니다"귀하의 프로젝트에 Zend_Registry가 있습니까? 또한 zf에서 새로운 사람이라면 zf1에서 작동하지 마십시오. 그것은 이미 eol이 통과되었습니다. zf3 만 사용하십시오. –
@Mehmet SöĞÜNMEZ 알다시피 나는 Bootstrap.php에서 Zend_Registry를 사용하는데 문제가 없다. 문제는 내 Ajax 또는 Guestdb와 관련된 것입니다. – WeLoveLinux
문제는 다음과 같습니다. 모델에 직접 요청합니다 : "$ .post ('http://127.0.0.1/Sample4/application/models/Guestdb.php'") 라우팅, 컨트롤러 작업, 부트 스트래핑을하지 말고 public/index.php를보고 컨트롤러 파일 (예 : DefaultController.php 또는 IndexController.php)과 이들 안에 정의 된 액션 (예 : indexAction())을 찾으십시오. 시작하는 데 도움이됩니다. –