JavaScript比PHP语句做得好的一个小细节实例

王志勇 发表于 2019年03月31日 08:05

JavaScript这一种古老的语言,是目前唯一的网页前端编程语言,在2018年第1季度竟然排名为世界十大编程语言的第1名(新闻链接),这可能是由于JQuery的兴起。这个排名好像是受欢迎度、市场占有率,就像超级女声一样是通过投票的方式排名,但是排名不代表实力。在开发中,我个人感觉PHP很多方面比JS做得好,虽然语法几乎完全相同,PHP和JS之前我也写过几次对比(例如),它们在开发中的重要性,PHP应该在JS之前,PHP也比JS简洁很多。最近发现一个反例,这一点JS比PHP做得好。

比如获取地址栏。JS只要一个window.location.href,就可以获取整个完整的地址栏,甚至能获得#后面的数据,而且十多年前的JS版本就已经是这样的。PHP获取地址栏相对繁琐,PHP没有像JS的window.location.href一样的方法,只能是获取域名+域名之后的地址,如:
$aa=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

并且,PHP这样获得的地址栏,并非是完整的地址栏,比如http://或https://这前几个字符会丢失,#后面的数据也会丢失,需要想别的办法来解决。

由于PHP获得地址栏缺少http://或https://这前几个字符,我只能用JS的window.location.href来获取地址栏,然后再跳转到一个PHP页面,将这个完整的地址传给PHP。

JS的数据,要传递给PHP,只能跳转到一个新页面。如PHP页面A这样写一个超链接:<a onclick="{location.href='b.php?ac'+window.location.href;}";>文字</a>

然后在页面b.php,用$a1=$_GET['ac'];得到页面A的地址栏。

当然,JS和PHP之间的数据传递,开发中,我遇到的绝大部分情况,都是PHP传递给JS。只有少量的特殊情况,像这种JS能轻松获得完整的地址栏,PHP无法获取的情况,只能由JS传递给PHP。

因为PHP绝大多数情况,不受浏览器兼容性的影响,语法又比JS简单,所以尽量把语句交给PHP来完成。

0条评论:

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写