view中

<?php
$cs=Yii::app()->clientScript;
$cs->registerScriptFile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js');
?> <!-- ▼显示提示信息▼ -->
<?php if(Yii::app()->user->hasFlash('success')){ ?>
<div class="flash-success">
<?php echo Yii::app()->user->getFlash('success'); ?>
</div>
<?php } ?> <?php if(Yii::app()->user->hasFlash('failed')){ ?>
<div class="flash-error">
<?php echo Yii::app()->user->getFlash('failed'); ?>
</div>
<?php } ?>
<!-- ▲显示提示信息▲ --> <div class="row">
<?php echo $form->textField($model,'cnt',array('size'=>'6', 'maxlength'=>'6'));?>
<?php echo CHtml::ajaxButton("随机生成邮件地址",
//CHtml::normalizeUrl(array('mail/makeMailAddress','count'=>'1')), // GET方式进行请求
CHtml::normalizeUrl(array('mail/makeMailAddress')), // GET方式进行请求
array(
'data' => array('cnt'=>'js: $("#MailForm_cnt").val()'), // 以GET方式将页面的值传递给后台
'beforeSend'=>'function(){}',
'update'=>'#MailForm_to', // 更新对象
'success'=>'function(data){
$("#MailForm_to").val(data);
}', // 将后台的返回值用JS显示在页面上
)); ?>
</div>

Controller 中

    public function actionMakeMailAddress(){
if(Yii::app()->request->isAjaxRequest){
if (isset($_GET["cnt"])){
$cnt = is_numeric($_GET["cnt"]) ? $_GET["cnt"] : "0";
} else {
$cnt = 1000 ;
} $data = "";
for($i = 0 ; $i < $cnt ; $i++) {
$data .= rand(10000000, 99999999)."@qq.com \n" ;
}
echo $data;
} else {
Yii::app()->user->setFlash("failed", "Request Error \n");
$this->refresh();
}
}

From: http://shoukii0721.iteye.com/blog/1576381

其它参考链接:

http://www.yiichina.com/api/CHtml#ajaxButton-detail

http://www.yiichina.com/api/CHtml#ajax-detail

http://api.jquery.com/jQuery.ajax/#options

http://shoukii0721.iteye.com/blog/1576381

http://blog.csdn.net/dreamzml/article/details/8642229

以及zii.widgets.grid.CGridView删除按钮JS:

jQuery(document).on('click','#user-grid a.delete',function() {
if(!confirm('确定要删除这条数据吗?')) return false;
var th = this,
afterDelete = function(){};
jQuery('#user-grid').yiiGridView('update', {
type: 'POST',
url: jQuery(this).attr('href'),
success: function(data) {
jQuery('#user-grid').yiiGridView('update');
afterDelete(th, true, data);
},
error: function(XHR) {
return afterDelete(th, false, XHR);
}
});
return false;
});

其HTML:

<tr class="odd">
<td>1</td><td>demo</td><td></td><td></td><td>0</td><td class="button-column"><a title="查看" href="/index.php/user/1"><img src="/assets/2b2efa90/gridview/view.png" alt="查看" /></a> <a title="修改" href="/index.php/user/update/1"><img src="/assets/2b2efa90/gridview/update.png" alt="更新" /></a> <a class="delete" title="删除" href="/index.php/user/delete/1"><img src="/assets/2b2efa90/gridview/delete.png" alt="删除" /></a></td><td class="button-column"><a style="cursor:pointer;" class="add_status" title="展示" href="/index.php/user/status/1?status=1">展示</a> </td></tr>

收藏功能、顶、踩 等可参考开源中国上的相关JS:

http://my.oschina.net/u/1403186/blog/179641

http://www.oschina.net/code/snippet_197014_17646

Yii中Ajax的使用,如收藏功能的更多相关文章

  1. Ajax实现搜索栏中输入时的自动提示功能

    使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...

  2. Javascript and AJAX with Yii(在yii 中使用 javascript 和ajax)

    英文原文:http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii /*** http://www.yiiframework. ...

  3. 2018.2.28 PHP中使用jQuery+Ajax实现分页查询多功能如何操作

    PHP中使用jQuery+Ajax实现分页查询多功能如何操作 1.首先做主页Ajax_pag.php 代码如下 <!DOCTYPE html> <html> <head& ...

  4. mxonline实战9,我要学习功能块,机构详情展示,收藏功能

    对应github地址:第9天   一. 实现我要学习功能

  5. 18、Django实战第18天:课程机构收藏功能

    这里点击"收藏"也是ajax异步操作,我在operation.model.py中创建了一个用户收藏表,其中fav_id字段,如果我们收藏的是课程,那就是课程id,如果收藏的是课程机 ...

  6. JQuery中ajax的相关方法总结

    前提条件 话说是jquery中的ajax方法,那么前提条件当然是引入jquery啦. <script src="http://libs.baidu.com/jquery/1.9.0/j ...

  7. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

  8. php中ajax跨域请求---小记

    php中ajax跨域请求---小记   前端时间,遇到的一个问题,情况大约是这样: 原来的写法: 前端js文件中: $.ajax({ type:'get', url:'http://wan.xxx.c ...

  9. jquery中ajax的使用

    Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进 ...

随机推荐

  1. couchDB入门

    无意翻到一本新书<CouchDB权威指南> 发现这就是传说中的NoSQL,看排第一的是mangodb,redis有些人说是,有些人说不是. CouchDB的开发很天才,直接可以通过java ...

  2. 内容写到 csv 格式的文件中 及 读取 csv 格式的文件内容

    <?php/*把内容写到 csv 格式的文件中 基本思路是:1.用 $fp = fopen("filename", 'mode')打开一个csv文件,可以是打开时才建立的2. ...

  3. web前端必须掌握的localStorage

    先自我介绍一下,本人男,27岁,单身,web前端程序员一枚,长期潜伏在幕后,只学不教(貔貅么?),其实主要是工作太忙了,每天忙到11点左右,没有时间写东西,洗洗就睡了.最近赶巧,后端那边出技术瓶颈了, ...

  4. 用javascript操作xml(二)JavaScript 将XML转换成字符串(xml to string)

    function xmlToString(xmlData) { var xmlString; //IE if (window.ActiveXObject){ xmlString = xmlData.x ...

  5. php文件锁解决少量并发问题

    阻塞(等待)模式: <?php $fp = fopen("lock.txt", "r"); if(flock($fp,LOCK_EX)) { //..处理 ...

  6. 使用dynamic来简化反射实现

    dynamic是Framework4.0的新特性,dynamic的出现让C#具有了弱语言类型的特性,编译器在编译的时候,不再对类型进行检查,不会报错,但是运行时如果执行的是不存在的属性或者方法,运行程 ...

  7. 关于优化C#程序的五十种方法

    一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...

  8. poj 1273

    网络流之最大流的基础题: 可以使用dinic算法和EK算法: 分别对着模板敲了一遍: dinic: #include<cstdio> #include<cstring> #in ...

  9. 在游戏中使用keybd_event的问题

    转自在游戏中使用keybd_event的问题 今天发现在游戏中,keybd_event不能使用,结果发现游戏是使用directinput实现读取键盘的,关键还是扫描码的问题,我抄了一段老外的代码,经测 ...

  10. Android java程序获取assets资产文件

    AssetManager assetManager=this.getAssets(); inputStream = assetManager.open("test.xml");