好吧,所以我正在使用 Yii,需要将一些数据传递给名为 events 的控制器方法,我的 jQuery ajax 调用看起来像这样
var objectToSend = { "categories" : [selectedOption],"datefrom" : month + "" + year , "dateto" : month + "" + year};
$.ajax({
url: '<?php echo Yii::app()->createUrl('calendar/events'); ?>',
type: "POST",
data: objectToSend,
success: function(data) {
console.log(data);
},
error: function() {
console.log('failed');
}
});
所以我想做的是将数据发送到 calendar/events ,然后由 events 方法“捕获”,进行一些 DB 获取并将数据带回 jQuery uppo 成功。问题是我总是记录错误,并且在执行此操作时向控制台显示消息(失败)。我从控制器方法中得到一个空字符串,这很奇怪。我只是用简单的代码测试它,看起来像这样
public function actionEvents()
{
$data = json_decode(Yii::app()->request->getPost('data'),true); // assoc array is returned if second param is true
echo json_encode($data);
Yii::app()->end();
}
我猜问题出在没有 data={ json data here } 的情况下发送到方法的数据对象,但仅作为 { json data here } 没有“data =”部分。你怎么看?有没有办法可以用“data =”某种方式将数据对象“前缀”发送到 PHP 文件?我感谢所有的帮助