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));
}