首先感谢所有人的帮助,这非常有用。我从yii开始,我有点迷失了。
我创建了一个jquery脚本,我在其中验证表单,然后将其发送到我的控制器以使用它并保存在数据库中。
但我做错了我想我无法连接我的控制器。这是代码:
Jquery脚本(在所有验证之后,变量很好):
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->request->baseUrl; ?>/proceso/guardarproceso",
data:
{
post_nombre: nombre,
post_empresa: empresa,
post_fechaI: fechaI,
post_fechaF: fechaF,
post_descripcion: descripcion
},
success: function(result)
{
alert(result);
}
});
我的控制器ProcesoController
:
public function actionGuardarProceso(){
$nombre = $_POST['post_nombre'];
$empresa = $_POST['post_empresa'];
$fechaI = $_POST['post_fechaI'];
$fechaF = $_POST['post_fechaF'];
$descripcion = $_POST['post_descripcion'];
echo $nombre;
}
我还没有使用数据库,我只是想看看我是否做得很好而且alert(result)
向我展示了$nombre
的内容,但不是这样,警报显示我所有的视图的HTML代码(是的所有xD)
我也做到了:
public function accessRules()
{
return array(
array(
'allow',
'actions'=>array('index','guardarproceso'),
'users'=>array('*'),
),
);
}
但没有......
任何人都会帮助我或给我一些想法?再次感谢大家
答案 0 :(得分:1)
第一个错误:url: "<?php echo Yii::app()->request->baseUrl; ?>/proceso/guardarproceso",
将guardarproceso
替换为guardarProceso
第二次错误:
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
缺少 dataType
;它应该是json
请在此处阅读http://api.jquery.com/jquery.post/
另外,在控制器操作actionGuardarProceso
中,使用:
echo json_encode(array('key'=>$nombre));
exit
答案 1 :(得分:0)
如果ajax或jquery结果打印页面的html,则通常在url中出现错误。 检查您的网络跳转,看它是否进入您想要的控制器操作。 baseurl也比createUrl慢。尝试Yii :: app() - &gt; createUrl并编辑它直到它到达正确的目的地..但我的理论基础是你的网址不正确。
答案 2 :(得分:0)
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->request->baseUrl; ?>/proceso/guardarproceso",
data:
{
post_nombre: nombre,
post_empresa: empresa,
post_fechaI: fechaI,
post_fechaF: fechaF,
post_descripcion: descripcion
},
success: function(result) {
alert(result);
},
error:function(jqXHR, textStatus, errorThrown){
alert('error::'+errorThrown);
}
});
首先尝试这样你会得到后期数据
public function actionGuardarProceso(){
echo "<pre>";
print_r($_POST);
exit;
}
如果没有获得任何数据,请尝试使用您的模型
public function actionGuardarProceso(){
$model = new modelname;
echo $_POST['modelname']['post_nombre'];
exit;
}
否则请尝试使用以下
public function actionGuardarProceso(){
echo Yii::app()->request->getPost("post_nombre");
exit;
}
我希望你现在可以从上面的任何方法获得