Yii 1.1版本控制器视图与ajax的使用方式

22 篇文章 0 订阅
10 篇文章 0 订阅

Yii的rule()验证规则,虽然很方便但是需要提交表单之后,页面刷新完才会显示相关的信息,感觉把所有的验证全部放在最后,不是很用户友好,因为写错了,还要重新填写表单。

Ajax是异步传输的方式,于服务器和客户端之间。感觉中间人的角色。昨天看了有关ajax的基本知识,需要基本的JavaScript的语言知识,此外因为Yii很多用的是jQuery的方式,所以在Yii的View页面视图中用的是jQuery的方式进行描述。

有关ajax的知识,菜鸟教程和w3cschool都很详细,自己去搜一下就很好。

下面贴下控制器和视图的代码,因为用的还是Yii1.1版本,所以查找了很多的内容都不是很明确,今天下午终于调试成功,算是一个经验,如果日后需要用到,可以继续学习下去。

view部分的代码,为testAjax.php


<button  onclick="test()" >测试</button>
<input id="testInput" />

<div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
<script type="text/javascript">
function test() 
{  

    var testInput = document.getElementById("testInput").value;  
    htmlobj = $.ajax({  
                url:"/test/testAjax1",   
                type : 'POST',  
                data : {curAddr : testInput},  
                dataType : "text",  
                //contentType : 'application/x-www-form-urlencoded',  
                async : true,  
                success : function(mydata) {  
                        //alert("success");  
                       // alert(mydata);  
                        //var show_data = "<h1>result:" + mydata + "</h1>";  
                        $("#myDiv").html(mydata);  
                },  
                error : function() {  
                        alert("calc failed");  
                }  
        }); 

} 
</script> 

Controller部分代码

class TestController extends Controller{
 //这个是渲染视图的控制器
public function actionTestAjax(){
    $this->render("testAjax");
}
//这个是与ajax交互的控制器
public function actionTestAjax1(){
    if(isset($_POST['curAddr'])){
        $id = $_POST["curAddr"];
        echo "<div>更新成功$id</div>";  
    }
    Yii::app()->end();
}
}

效果如下

这里写图片描述
在文本框输入内容后点击测试,文本内容更新

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值