我有以下代码。
<?php $location=$_SERVER['REQUEST_URI']; ?>
<script>var location = <?php echo json_encode($location); ?>;</script>
此代码会导致无限量的浏览器刷新。如果我去掉第二行,一切都很好。我需要知道潜在的原因,因为我不知道在哪里搜索。当前没有Javascript使用名为location的变量。
变量location
的名称与全局location
对象冲突。
MDN报价:
虽然
Window.location
是只读Location对象,但您也可以为其分配DOMString。这意味着在大多数情况下,您可以像处理字符串一样处理window.location
:window.location = 'http://www.example.com'
是window.location.href = 'http://www.example.com'
的同义词
由于全局变量是window
对象的属性,因此location
与此处的window.location
相同,因此您要告诉浏览器将当前页面替换为从指定的"新"地址加载的页面(在本例中,该地址恰好再次相同)。
只需使用不同的变量名。