`
hudeyong926
  • 浏览: 2038800 次
  • 来自: 武汉
社区版块
存档分类
最新评论

YII AJAX registerScript

阅读更多

1.YII封装的CHtml::ajaxLink,QuoteController.php

<?php
class QuoteController extends Controller
{
	private $quotes = array(
		array('Walking on water and developing software from a specification are easy if both are frozen.', 'Edward V Berard'),
		array('It always takes longer than you expect, even when you take into account Hofstadter&rsquo;s Law.', 'Hofstadter&rsquo;sLaw'),
		array('Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.','Rick Osborn'),
		array('I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.', 'Bjarne Stroustrup'),
		array('Java is to JavaScript what Car is to Carpet.', 'Chris Heilmann'),
	);
	private function getRandomQuote()
	{
		return $this->quotes[array_rand($this->quotes, 1)];
	}
	function actionIndex()
	{
		$this->render('index', array(
		'quote' => $this->getRandomQuote()
		));
	}
	function actionGetQuote()
	{
		$this->renderPartial('_quote', array(
		'quote' => $this->getRandomQuote(),
		));
	}
}

view/index.php

<h2>Quote of the day</h2>
<div id="quote-of-the-day">
&ldquo;<?php echo $quote[0]?>&rdquo;, <?php echo $quote[1]?>
</div>
<?php Yii::app()->clientScript->registerCoreScript('jquery'); ?>
<?php echo CHtml::ajaxLink('Next quote', array('getQuote'),
array('update' => '#quote-of-the-day'))?>

 ajaxLink($text,$url ,$ajaxOptions=array(),$htmlOptions=array())

$text 链接内容

以下是调试.也可以用常用的jQuery.ajax

<?php echo CHtml::ajaxLink('Next quote', array('getQuote'),
array('success' => 'js:function(data){
alert(data);
}'))?>

 

2.将php数据转化成javascript数据

protected/config/main.php:

'params'=>array(
	// this is used in contact page
	'adminEmail'=>'webmaster@example.com',
	'alert' => array(
		'enabled' => true,
		'message' => 'Hello there!',
	),
),

protected/controllers/AlertController.php

<?php
class AlertController extends Controller
{
	function actionIndex()
	{
		$config = CJavaScript::encode(Yii::app()->params->toArray());
		//$config:{'adminEmail':'webmaster@example.com','alert':{'enabled':true,'message':'Hello there!'}}
		Yii::app()->clientScript->registerScript('appConfig', "var config = ".$config.";",CClientScript::POS_HEAD);
		$this->render('index');
	}
}

registerScript第二个参数是显示js代码。

<?php
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
	$('.search-form').toggle();
	return false;
});
$('.search-form form').submit(function(){
	$.fn.yiiGridView.update('project-grid', {
		data: $(this).serialize()
	});
	return false;
});
");
?>

protected/views/alert/index.php

<script>
if(config && config.alert && config.alert.enabled &&
config.alert.message){
alert(config.alert.message);
}
</script>

CJSON::encode()=CJavaScript::encode   生成json格式
CJSON::decode()

 

 

分享到:
评论

相关推荐

    yii ajax demo

    在 Yii 中使用 AJAX(异步 JavaScript 和 XML)可以极大地提升用户体验,因为它允许后台数据的无刷新更新。本教程将深入探讨如何在 Yii 框架中实现 AJAX 功能,以及与之相关的知识点。 首先,`vtalk.ini` 文件可能...

    yii ajax应用

    在Yii中,Ajax(异步JavaScript和XML)技术被广泛应用于提高用户体验,通过发送背景请求来更新部分页面内容,而无需刷新整个页面。下面将详细解释Yii中实现Ajax应用的原理,以及上述例子中的具体实现过程。 1. **...

    yii2-ajaxcrud, 用于yii2的单一页面Ajax管理的Gii模板.zip

    yii2-ajaxcrud, 用于yii2的单一页面Ajax管理的Gii模板 yii2-ajaxcrud 用于yii2的单一页面Ajax管理的Gii模板 特性使用Ajax创建。读取。更新。删除页面批量删除 suportPjax小部件 suport导出函数( pdf,html,文本,cs

    yii2-ajaxcrud-assets:yii2-ajaxcrud扩展的资产捆绑包

    Yii2-AjaxCRUD-Assets 是一个专门为 Yii2 框架设计的扩展,它提供了对 AJAX CRUD(创建、读取、更新、删除)操作的支持,并优化了用户体验。这个扩展的核心在于其资产捆绑包,它包含了必要的 JavaScript 和 CSS 文件...

    Ajax-yii2-ajax-sort.zip

    Ajax-yii2-ajax-sort.zip,yii2可排序列表视图ajax拖放,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况...

    Yii实现用户注册登录、ajax、图片上传、modules编程基础例程(内置完整工程及使用说明)

    在Yii中,可以通过创建一个控制器动作,然后在前端使用jQuery或其他JavaScript库发送Ajax请求来实现。例如,我们可以创建一个删除操作,当用户点击删除按钮时,前端发送Ajax请求到服务器,服务器执行删除操作后返回...

    Yii+upload实现AJAX上传图片的方法

    Yii 框架结合 Upload 插件实现 AJAX 图片上传是一种常见的前端与后端交互方式,它可以提供更好的用户体验,因为用户无需刷新整个页面就能完成图片上传。以下将详细讲解这一方法的具体步骤和关键技术。 首先,我们...

    yii2-ajaxcrud:yii2-ajaxcrud personalizado

    Yii2-AjaxCRUD 是一个基于 Yii2 框架的扩展,用于创建 AJAX 驱动的 CRUD(创建、读取、更新、删除)操作。这个个人定制版的 yii2-ajaxcrud 更加注重用户体验和交互性,允许开发者在不刷新整个页面的情况下执行数据库...

    Yii使用ajax验证显示错误messagebox的解决方法

    本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法。分享给大家供大家参考。具体方法如下: yii 自带了ajax 表单验证 这个可能有些朋友不知道了,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,...

    ajax翻页效果模仿yii框架自己写的

    本文将介绍如何在网页中实现Ajax翻页效果,模仿Yii框架中的分页功能。Ajax(Asynchronous JavaScript and XML)技术允许我们在不重新加载整个页面的情况下更新部分网页内容,提供更好的用户体验。 首先,观察给定的...

    yii2-scroll-pager, 用于 Yii2 ListView小部件的无限AJAX滚动.zip

    yii2-scroll-pager, 用于 Yii2 ListView小部件的无限AJAX滚动 Yii2滚动寻呼机使用AJAX将常规分页页面转换为无限滚动页。Y2SP使用 Pagination 对象,它指定了完整的页面数目和当前页码。使用 JQuery无限Ajax滚动插件...

    Ajax-yii2-ajaxform.zip

    Ajax-yii2-ajaxform.zip,通过ajax提交activeform,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改...

    Ajax-yii2-widgets.zip

    Ajax-yii2-widgets.zip,yii2框架的小部件集合,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    Ajax-yii2-ajax-submit-button.zip

    Ajax-yii2-ajax-submit-button.zip,yii 1为yii 2提供的旧的好ajax提交按钮,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    7. **Ajax支持**:Yii 提供了强大的Ajax功能,如Yii CGridView和CListView,可以轻松创建数据驱动的交互式界面。 8. **Gii代码生成工具**:Gii 是Yii自带的代码生成工具,能自动生成模型、控制器、表单和CRUD操作,...

    yii框架中文文档、yii中文手册教程

    “yii框架中文手册教程.pdf”是Yii框架的中文版官方手册,它是学习Yii框架的重要资源。这份PDF文档通常会包括以下内容: 1. **安装与配置**:介绍如何在服务器上安装Yii,以及设置基本的项目环境。 2. **快速入门**...

    Yii2实现ajax上传图片插件用法

    在Yii2框架中实现ajax上传图片功能,可以通过下载并使用第三方插件mdmsoft/yii2-upload-file来完成。这个过程涉及到了几个关键知识点,包括模型的构建、行为的附加、表单的创建和数据的验证和处理。 首先,需要创建...

    yii2swoole让yii2运行在swoole上

    1. **Yii2框架与Swoole的集成**:Yii2swoole是将Yii2框架与Swoole进行整合的扩展,允许Yii2应用利用Swoole的高性能特性。它提供了在Swoole环境下运行Yii2的基础设施,包括请求处理、事件监听、session和cookie管理等...

Global site tag (gtag.js) - Google Analytics