Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407947
  • 博文数量: 117
  • 博客积分: 5235
  • 博客等级: 大校
  • 技术积分: 1775
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-12 15:51
文章分类

全部博文(117)

文章存档

2012年(9)

2011年(2)

2010年(21)

2009年(13)

2008年(72)

我的朋友

分类:

2010-03-31 10:12:23

1. 简介
不刷新整个页面而向服务器请求新数据
2. 库的选择
Dojo
jQuery
3. 交互
.1 客户端
  .1 读取
  .2 发送
.2 服务端
  .1 读取
  $_GET['VarName']; $_POST['VarName'];
  .2 写回
4. zend 与 jquery
.1 客户端
$(window).load(function(){
 alert("Hello world");
 $.post("index/ajax", {Action:"get",Name:"jack"}, function (data, textStatus){
  //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.
  //this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图
  alert(data);
  alert(textStatus);//请求状态:success,error等等。                                  当然这里捕捉不到error,因为error的时候根本不会运行该回调函数
  alert(this.type);
  $('#container').html(data).css("color", "red");
   });
});
//特别注意:"index/ajax",这是control与action的url,是相对路径,也可写成绝对路径:/zf2/public/index/ajax,其中/是
从apache的DocumentRoot开始的
.2服务器端
在相应的action中echo回的内容加上相应的view的内容就是返回的内容.如不需要view的内容,可以用
$this->renderScript("blank.phtml");此空白view,blank.phtml应该放在views/script下
或者取消view的显示
$this->_helper->viewRenderer->setNoRender(); 
.3 数据包装
 .1 text
 $str = "Hello ".$name."!";
 echo $str;
 .2 html/xml
 dataType: "xml"
 .3 json
 dataType: "json"
 
  $req = $this->getRequest();
     $objRes = null;
     $objRes->name = $req->getParam('name');
     $objRes->age = $req->getParam('age');
     $objRes->email = $req->getParam('email');
  $this->_helper->json($objRes);
//将$objRes这个对象包装成json格式,在js方面以data.name, data.age, data.email来读取 
/*
 如果布局是打开(enabled)的,则关闭(disable)它。
如果视图解析器(ViewRenderer)是打开的,则关闭它。
设置 'Content-Type' 响应头为 'application/json'。
缺省地,不需要等待动作执行完成,立即返回响应。
*/
4. 数据解包
 .1 text
 data
 .2 html/xml
 dataType: "xml"
 .3 json
 dataType: "json"
 data.name, data.age, data.email;
阅读(497) | 评论(0) | 转发(0) |
0

上一篇:集成Smarty

下一篇:多语言支持

给主人留下些什么吧!~~