Php Zend Ajax可以';不删除
我有一个名为Php Zend Ajax可以';不删除,php,javascript,jquery,ajax,zend-framework,Php,Javascript,Jquery,Ajax,Zend Framework,我有一个名为state的表,其中包含列state\u id,state\u name。目前我可以添加新状态并编辑它们,但不能删除状态。我的代码可能有什么问题 {title:"Actions",template:'<a class="left" onclick="javascript:openEditStatePopup(this);">Edit</a>' + '<a class="right" onclick="javascript:deleteState
state
的表,其中包含列state\u id
,state\u name
。目前我可以添加新状态并编辑它们,但不能删除状态。我的代码可能有什么问题
{title:"Actions",template:'<a class="left" onclick="javascript:openEditStatePopup(this);">Edit</a>' +
'<a class="right" onclick="javascript:deleteState(this);">Delete</a>'
,width:120,sortable:false}
用于删除的模型映射器为:
public function delete(Application_Model_State $state)
{
$data = $state->toArray();
$adapter = $this->getDbTable()->getAdapter()->delete(array('state_id=?'=>$data['state_id']));
}
在控制器操作
deleteAction()
中,您将获得POST参数“state\u id”
$state = $this->_request->_getPost('state_id');
$stateMapper = new Application_Model_Mapper_StateMapper();
$stateMapper->delete($state);
您正在$stateMapper->delete($state)中传递该$state
代码>功能
在模型类函数中公共函数delete(Application\u model\u State$State)
定义传递的是状态模型对象not和状态id,因此应该将其更改为
public function delete($state_id)
{
$adapter = $this->getDbTable()->getAdapter()->delete(array('state_id=?'=>$state_id));
}
那么它应该会起作用
还有一件事我没见过
failure:function(){
alert('not working');
}
的确如此
error:function(){
alert('not working');
}
您好,您需要编写deleteAction
,如下所示
public function deleteAction()
{
$state = $this->_getParam('state_id');
$stateMapper = new Application_Model_Mapper_StateMapper();
$stateId = $stateMapper->delete($state);
$this->_helper->json(array('success'=>1));
}
您好,我尝试过您的解决方案不起作用…我是否正确定义了$.ajax?@zlippr我已更改了答案,再次检查是的,我已将失败更改为错误..当我尝试您的解决方案时,错误函数正在执行…您是否需要有关脚本的更多信息..使用firbug扩展并检查ajax是否能够访问该url,更改url:“
并尝试手动将其进行调试,然后再次尝试使用firebug进行检查..url已执行,数据已正确传递..但我仍然收到不起作用的消息..您认为json会有任何回报吗..@zlipper根据您的问题,上述代码中的内容与我在回答中提到的相同<代码>$this->_helper->json(数组('success'=>1))代码>与删除无关。它说我不需要为你的问题浪费那么多时间@lordkelvin您能否解释一下,如何使用$this->\u helper->json(数组('success'=>1))删除记录代码>
error:function(){
alert('not working');
}
public function deleteAction()
{
$state = $this->_getParam('state_id');
$stateMapper = new Application_Model_Mapper_StateMapper();
$stateId = $stateMapper->delete($state);
$this->_helper->json(array('success'=>1));
}