第一.tp中ajax的url需要使用大U方法.比如:$.post("{:U('User/add')}")
第二.控制器中返回结果得第一种方法.$this->error('失败','',true)第三个参数为true.则发挥的是json数据.包含info.status.url三项.
第三.控制器中返回结果的第二种方法.$this->ajaxReturn(array('customKey1'=>'customValue1','customKey2'=>'customValue2','customKey3'=>'customValue3')).
简介:
国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。
开发模式:
许多重要的技术和AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。
AJAX开发与传统的CS开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。
综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
可以在页面定义一个调用方法,如下:复制代码
代码如下:
function
getData(){
$.getJSON("http://123.123.123.123/?callback=?",
{
"m":"data",//
指定php的文件名字
"act":"getdata",//
指定php文件中的方法
"name":"问题儿童"//
传入的参数
},
function(data)
{
//
获得返回值
}
})
}
对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。
index.php代码如下:
复制代码
代码如下:
<?php
/**
*
入口文件
*/
$string
=
$_SERVER["REQUEST_URI"]//
获取访问的url
$m
=
get_m($string)
$file_path
=
"app/".$m.".php"
define('IS_INDEX',true)//
阻止直接访问app目录
require
($file_path)
/**
*
*
获取访问php文件
*
@param
string
$url
*/
function
get_m($url){
$strings
=
explode('m=',
$url)
$res
=
explode("&",
$strings[1])
return
empty($res[0])?'index':$res[0]
}
?>
data.php代码如下:
复制代码
代码如下:
<?php
/**
*
data文件
*/
$act
=
!empty($_GET['act'])
?
$_GET['act']
:
''
if
($act
==
'getdata')
{
$name
=
"我的名字叫:".$_REQUEST['name']
echo
$_REQUEST["callback"]."(".json_encode($name).")"
}
?>
成功调用后,画面就能获取到返回的json数据了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)