若相依 发表于 2015-2-3 23:37:46

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成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。

若天明 发表于 2015-2-4 03:56:05

基础有没有对学习php没有太大区别,关键是兴趣。

海妖 发表于 2015-2-9 15:29:54

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

小妖女 发表于 2015-2-28 03:52:05

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

再见西城 发表于 2015-3-6 21:29:07

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

爱飞 发表于 2015-3-13 09:47:11

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

蒙在股里 发表于 2015-3-14 22:17:53

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

飘灵儿 发表于 2015-3-14 23:04:57

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

冷月葬花魂 发表于 2015-3-17 00:10:22

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

山那边是海 发表于 2015-3-23 08:48:17

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

只想知道 发表于 2015-3-24 17:21:56

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

不帅 发表于 2015-3-25 05:35:08

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

深爱那片海 发表于 2015-3-28 15:14:50

写的比较杂,因为我也是个新手,不当至于大家多多指正。

莫相离 发表于 2015-3-30 19:06:01

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

灵魂腐蚀 发表于 2015-3-31 05:21:58

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

柔情似水 发表于 2015-4-14 19:29:58

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

愤怒的大鸟 发表于 2015-4-22 09:21:55

本文当是我的笔记啦,遇到的问题随时填充

兰色精灵 发表于 2015-4-23 15:06:46

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

乐观 发表于 2015-5-10 07:56:19

做为1门年轻的语言,php一直很努力。
页: [1]
查看完整版本: PHP编程:在php中判别一个恳求是ajax恳求仍是通俗...