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. DIV+CSS 网页布局之:混合布局

    1.混合布局 在了解了一列.两列和三列布局之后,混合布局也就不难理解了,混合布局也可以叫综合型布局,那么混合布局就可以在一列布局的基础之上,分为两列布局,三列布局,网页布局的结构普遍都是三列布局,但是 ...

  2. 服务器返回的JSON字符串

    异步请求将type设为"json",或者利 用$.getJSON()方法获得服务器返回,那么就不需要eval()方法,因为这时候得到的结果已经是json对象

  3. How to get Directory size in IsolatedStorage of Windows Phone 8 App

    There is no API to get the total size of a specific directory in the isolated storage. Therefore, th ...

  4. DataGridView出现大红叉--在使用多线程访问数据源时

    datagridview 的数据源操作在一个方面里面处理 不要多个地方处理 并且处理的时候要加锁 红叉 应该是多线程操作出现的. try catch  只是起到 捕获异常的功能,但是一旦出现了这种错误 ...

  5. 转载“用USBOOT制作DOS启动盘”

    使用软件: Usboot和MaxDOS_5.6s_U盘版. 由于我的U盘容量比较小,暂时只能做DOS启动功能,其它功能如Windows PE,等我以后测试成功后再补充说明. U盘是啥? 读音优盘,可以 ...

  6. oracle 报“无效数字”异常和“ORA-01830: 日期格式图片在转换整个输入字符串之前结束”

    1.问题1 执行下列SQL: sql = "select count(1) as totle from vhl_model_data a where a.OBTAIN_CREATE_TIME ...

  7. unidac连接FireBird数据库

    dbconn: TUniConnection; with dbconn do    begin      if not Connected then         begin            ...

  8. 致命错误: Python.h:没有那个文件或目录

    In file included from greenlet.c:5:0: greenlet.h:8:20: 致命错误: Python.h:没有那个文件或目录 编译中断. error: Setup s ...

  9. Django下TemplateDoesNotExist 异常的解决方法:

    在settings中添加代码如下获取templates路径: import os import os.path BASE_DIR = os.path.dirname(os.path.dirname(_ ...

  10. 导入旧版本Android项目时的“Unable to resolve target ‘android

    在Ecplise + ATD + Android SDK的开发中,导入旧版本的Android项目时,往往会出现类似的如下错误 Error:Unable to resolve target 'andro ...