【发布时间】:2015-02-05 12:34:11
【问题描述】:
我在控制器上遇到了 $_POST["var"] 的问题。它似乎是空的。如何接收在我的 textFiled 上输入的字符串?
查看
<?php Yii::app()->clientScript->registerCoreScript("jquery"); ?>
<script type="text/javascript">
$(document).ready(function(){
$("#hhmm").change(function(){
$.ajax({
url: "<?php echo CController::createUrl('reqTest01Loading'); ?>",
data: $(this).serialize(),
type: "post",
dataType: "json",
success: function(data) {
if (data.status === 'failure') {
$('#impatto').val('Error request failed.');
} else {
$("#impatto").html(data.total);
}
}
});
});
});
</script>
控制器
public function actionReqTest01Loading() {
$result = array("total" => $_POST['hhmm'], "status"=>"OK");
echo CJSON::encode($result);
}
控制器规则
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('reqTest01Loading','index','view','admin'),
'users'=>array('@'),
),
提前致谢
【问题讨论】:
-
使用 CVarDumper::Dump($_POST,100,true);在您的控制器中查看所有通过 ajax 发送的数据。
-
您正在尝试 $_POST['hhmm'] 这是错误的,因为 ajax 没有设置 html 元素的 id。你可以试试 $_POST['data']
-
print_r($_POST) 并检查它返回的内容
-
我在使用
CVarDumper::Dump($_POST,100,true);或print_r($_POST)时没有任何响应,它只是空白。顺便说一句,将 hhmm 更改为数据没有任何响应:{"total":null,"status":"OK"} -
试试
var_dump(file_get_contents('php://input'));
标签: javascript php json post yii