欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求助!yii里怎么实现使用Jquery Ajax传值到控制器action方法里

程序员文章站 2022-05-31 14:45:10
...
yii Jquery Ajax
纠结一下午了,求高手相助,刚接触yii,这有什么问题吗
$.ajax({
type:'post',
url:"/www/index.php?r=home/CkUser",//这个地址应该怎么写

data:{"name":val},

success:function(msg){
alert("正确");
$("#nameinfo").html(msg);

},

}

);

我想传值到actionCkUser()里
class HomeController extends Controller{
public function actionCkUser(){
//todo

$name=Yii::app()->request->getParam('name');
echo $name.'bb';
$model=new User;
if($name)
{

$model->username=$name;
$user = User::model() -> find("username = '{$this -> username}'");
$result='';
if($user)
{
$result='用户已存在';
}
else
{
$result='ok';
}
return $result;
}
$this->render('CkUser',array(
'model'=>$model));
}

}

回复讨论(解决方案)

?r=home/CkUser

$.post('?r=home/CkUser',{'name':val'},function(msg){    //数据处理        });

好像还是不行

好像还是不行
那你现在是什么问题,这样传值是没错的。不行就贴出错误信息。

后来这样写
var data="name="+val;
//alert(data);error:function(){alert('错误');}

$.ajax({
type:'post',
url:"http://localhost/message/www/index.php?r=home/CkUser",

data:data,
success:function(msg){
alert('msg');
$("#nameinfo").html(msg);

},


}

);当输入框没有填值时失去焦点,alert('msg')会提示,输入值以后再失去焦点就不提示了,我这个是验证用户名是否存在的

既然你已经使用了YII,那么何不用它的表单规则呢,封装起来,不管你数据库里哪个字段都是可以验证是否重复,这也是YII的好处啊。

关键是我们这边让自己写,没办法啊,这两天看yii看得头都大了