很多站长朋友们都不太清楚php中ajax,今天小编就来给大家整理php中ajax,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp中怎么用ajax? 2、 thinkphp ajaxReturn方法的使用 3、 PHP如何判断是否为AJAX请求 4、 如何在同一个PHP页面,通过ajax把值传给PHP变量? 5、 AJAX怎么处理PHP返回的数组信息? 6、 php用ajax为什么只能返回数字 thinkphp中怎么用ajax?第一.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设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
thinkphp ajaxReturn方法的使用首先,你的 $this->ajaxReturn(); 的后面最好是exit;一下,否则你是循环 ajaxReturn;\x0d\x0a\x0d\x0a由于你的页面一次提交获得一次ajax返回。所以循环返回是会出错的。\x0d\x0a看代码\x0d\x0a$arr['status']=1;\x0d\x0a$arr['info']="你有未完成的选项";\x0d\x0a$this->ajaxReturn($arr,'JSON');\x0d\x0aexit;\x0d\x0a\x0d\x0a其实如果你想测试提交的内容是否为空,推荐你用 javascript 就行了。不需要提交到服务器判断,浪费服务器的资源。\x0d\x0a你在页面的 JavaSripct,写个判断 input是否为空,是的话,直接 提示,然后不执行submit,直到全部数据按你的要求(部分要求可以用正则判断),然后再submit
PHP如何判断是否为AJAX请求<span style="font-size:18px;">/**
* 是否AJAX请求
* @access protected
* @return bool
*/
protected function isAjax() {
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) ) {
if('xmlhttprequest' == strtolower($_SERVER['HTTP_X_REQUESTED_WITH']))
return true;
}
if(!empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]))
// 判断Ajax方式提交
return true;
return false;
}</span>
如何在同一个PHP页面,通过ajax把值传给PHP变量?举个例子:你想在用户点击时,把 apple 这个字符串,通过前端传给后端。
前端,用 jQuery 举例:
$('button').click(function () {
$.ajax({
url: '/xxx',
method: 'post',
dataType: 'json',
data: {fruit: 'apple'}
}).done(function (res) {
// 成功后的回调
}).fail(function (err) {
// 失败后的回调
});
});
后端 PHP 处理:
$fruit = $_POST['fruit']; // 获取从 ajax 传过来的 fruit 的值,这里是 apple。
如果你想在前端重新显示这个字符串 apple,那么你要用 PHP 把数据返回给页面,然后在上面 “// 成功后的回调” 里面,补充逻辑代码。
例如 PHP 把 apple 返回给前端:
return json_encode(array('fruit' => 'apple'));
前端回调处理:
// 成功后的回调
alert(res.fruit); // 弹框显示 “apple”
实际上,$_POST 能够获取所有从前端用 post 方式提交过来的数据,不管你是页面刷新方式,还是 ajax(jQuery 才叫 ajax,实际上它是 XMLHttpRequest,异步非阻塞的请求方式)
AJAX怎么处理PHP返回的数组信息?你如果想让后台以json格式返回数据,那么php就一定要用标准的json格式来输出数据,不要混杂其他无关数据。比如你的“返回的数据:”这几个字就属于多余数据,ajax在接收到返回数据后就会转换失败。所以你的 echo "返回的数据:"; 应该删掉(如果还有其他类似的输出语句也要删掉),确保输出的数据只有 ["jeff-A-01.png","jeff-d-01.png"] 这样的内容。
php用ajax为什么只能返回数字ajax可以返回其他字符的。但是不要原样返回,应该对数据进行格式转换再返回,比如最常用以json格式返回,接收解析json就行了。注意json的引号和反斜杠,可能会对json格式造成解析错误,可以对json进行特殊字符替换。
关于php中ajax的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php中ajax php中ajax中文乱码的详细内容...