我有一个关于javascript和cakephp的问题,我需要通过Post发送数据并在另一侧(控制器)重新接收它并进行我已经拥有的正常过程。但我不知道如何捕获数据。我正在使用Ajax
function editFun(clicked_id){
var id = clicked_id;
$("#Content").empty();
$('#Content').html("<b>Loading response...</b>");
$.ajax({
type: 'POST',
url: '/Posts/edit',
data: (id)
})
.done(function(data){
console.log(data);
$('#Content').html(data);
})
.fail(function(data){
$('#Content').html(data);
});
}
&#13;
public function edit($id = null) {
if (!$id) {
throw new NotFoundException(__('Invalid post'));
}
$post = $this->Post->findById($id);
if (!$post) {
throw new NotFoundException(__('Invalid post'));
}
if ($this->request->is(array('post', 'put'))) {
$this->Post->id = $id;
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash(__('Your post has been updated.'));
return $this->redirect(array('action' => 'index'));
}
$this->Session->setFlash(__('Unable to update your post.'));
}
if (!$this->request->data) {
$this->request->data = $post;
}
}
&#13;
答案 0 :(得分:0)
在这种情况下,您应该在URL中发送您的ID。所以即使GET方法也足够了,因为你的控制器从URL接收$id
param。
所以你需要改变的是发布参数:
$.ajax({
type: 'POST',
url: '/Posts/edit/' + id
})