|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。 |
|