仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 644|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:在php中判别一个恳求是ajax恳求仍是通俗...

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:37:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。   /path/to/pkphp.com/script.php?ajax
在php剧本中利用以下办法判别:
复制代码 代码以下:
if(isset($_GET['ajax'])) {
...这是一个ajax恳求,然后...
}
else {
...这不是一个ajax恳求,然后...
}

经由过程传递_GET参数的办法复杂完成了网页恳求的判别。然而假如需求如许的功效,这个办法能够就有坏处,功效需求以下:
1.经由过程ajax恳求的网页与通俗恳求的网页内容是不不异的
2.经由过程ajax恳求的网页是为了便利用户操作,两种办法恳求翻开的网页必需的内容是不异的,只是ajax恳求到的网页内容对照简化和利用,去除网页的大框架模板。
3.这么做的目标是:用户在网页操作时经由过程ajax完成,而搜刮引擎会见网页时(相当于通俗翻开网页),失掉的内容是一个完全的网页(包括了网页的大框架模板)。
要完成下面的这个功效,就不克不及利用后面引见的经由过程GET参数传递来判别了,假如利用GET传递来判别的话,用户ajax恳求和通俗网页恳求城市是一样的内容,由于你不成能为一个链接设置一个带ajax判别参数和不带的URL。那末若何才干完成这个功效呢?必需经由过程办事器端PHP判别处理这个成绩。也就是明天要说的PHP若何判别ajax恳求。这个成绩要处理有一个先决前提,那就是你利用的ajax框架必需是jquery。在jquery框架中,关于经由过程它的$.ajax, $.get, or $.post办法恳求网页内容时,它会向办事器传递一个HTTP_X_REQUESTED_WITH的参数,你可以使用以下办法判别某个恳求是ajax恳求仍是通俗恳求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
..这是一个ajax恳求,然后...
}
else {
..这不是一个ajax恳求,然后...
}
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH
{
...这是一个ajax恳求,然后...
}
else {
...这不是一个ajax恳求,然后...
}
使用这个来停止判别操作,可使网页真个URL坚持分歧,然而可以对两种分歧的恳求却可以失掉分歧内容的网页。即完成了用户操作优化,又不影响搜刮引擎收录,我感觉是一个很棒的处理计划!
这里有一个别的需求注重的成绩,就是假如你的jquery恳求是经由过程iframe翻开网页的,那末HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有举措判别恳求的类型。

次要内容是:

1.
这个成绩要处理有一个先决前提,那就是你利用的ajax框架必需是jquery。在jquery框架中,关于经由过程它的$.ajax, $.get, or $.post办法恳求网页内容时,它会向办事器传递一个HTTP_X_REQUESTED_WITH的参数,你可以使用以下办法判别某个恳求是ajax恳求仍是通俗恳求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{

2.
这里有一个别的需求注重的成绩,就是假如你的jquery恳求是经由过程iframe翻开网页的,那末HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有举措判别恳求的类型。PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。
若天明 该用户已被删除
沙发
发表于 2015-2-4 03:56:05 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
海妖 该用户已被删除
板凳
发表于 2015-2-9 15:29:54 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
小妖女 该用户已被删除
地板
发表于 2015-2-28 03:52:05 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
再见西城 该用户已被删除
5#
发表于 2015-3-6 21:29:07 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
爱飞 该用户已被删除
6#
发表于 2015-3-13 09:47:11 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
蒙在股里 该用户已被删除
7#
发表于 2015-3-14 22:17:53 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
飘灵儿 该用户已被删除
8#
发表于 2015-3-14 23:04:57 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-17 00:10:22 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
山那边是海 该用户已被删除
10#
发表于 2015-3-23 08:48:17 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
只想知道 该用户已被删除
11#
发表于 2015-3-24 17:21:56 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
不帅 该用户已被删除
12#
发表于 2015-3-25 05:35:08 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
深爱那片海 该用户已被删除
13#
发表于 2015-3-28 15:14:50 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
莫相离 该用户已被删除
14#
发表于 2015-3-30 19:06:01 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-3-31 05:21:58 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
柔情似水 该用户已被删除
16#
发表于 2015-4-14 19:29:58 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
愤怒的大鸟 该用户已被删除
17#
发表于 2015-4-22 09:21:55 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
兰色精灵 该用户已被删除
18#
发表于 2015-4-23 15:06:46 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
乐观 该用户已被删除
19#
发表于 2015-5-10 07:56:19 | 只看该作者
做为1门年轻的语言,php一直很努力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-20 19:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表