PHP编程:在php中判别一个恳求是ajax恳求仍是通俗...
没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。 /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成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。 基础有没有对学习php没有太大区别,关键是兴趣。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 本文当是我的笔记啦,遇到的问题随时填充 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 做为1门年轻的语言,php一直很努力。
页:
[1]