【发布时间】:2016-05-27 03:08:32
【问题描述】:
我真的很难在控制器中获得 POST 值。我对此真的很陌生..请有人给我分享一些光明..现在在黑暗中很长一段时间。 我有一个复选框,需要将所有已检查的 id 传递给控制器并使用该 id 来更新我的数据库。我不知道我做错了什么,尝试了所有方法和一些示例,如下所示: sending data via ajax in Cakephp
也发现了一些关于相同问题的问题,但对我帮助不大(或者可能太笨而无法理解)。我不断得到数组();
请帮助我..我的代码或我可以参考的任何链接。这里是我的代码: 我的视图脚本:
<script type="text/javascript">
$(document).ready(function(){
$('.checkall:button').toggle(function(){
$('input:checkbox').attr('checked','checked');
$('#button').click( function (event) {
var memoData = [];
$.each($("input[name='memo']:checked"), function(){
memoData.push($(this).val());
});
var value = memoData.join(", ")
//alert("value are: " + value);
//start
$.ajax({
type:"POST",
traditional:true;
data:{value_to_send:data_to_send},
url:"../My/deleteAll/",
success : function(data) {
alert(value);// will alert "ok"
},
error : function() {
alert("false submission fail");
}
});
//end
} ); //end of button click
},function(){//uncheck
$('input:checkbox').removeAttr('checked');
});
});
我的控制器:
public function deleteAll(){
if( $this->request->is('POST') ) {
// echo $_POST['value_to_send'];
//echo $value = $this->request->data('value_to_send');
//or
debug($this->request->data);exit;
}
}
这个调试的结果是:
\app\Controller\MyController.php (line 73)
array()
请帮帮我。非常感谢
【问题讨论】:
-
你用ajax写
data:{value_to_send:data_to_send},,你把data_to_send放在value上吗?var value = memoData.join(", "); -
抱歉,它应该是一个数据:{value_to_send:value}。我以前在玩代码。但问题仍然存在。每次我调试时,它看起来好像没有任何东西被传递给控制器......:(
-
你试过这个answer