首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从另一个页面获取JavaScript / PHP值

如何从另一个页面获取JavaScript / PHP值
EN

Stack Overflow用户
提问于 2014-05-02 18:55:03
回答 1查看 695关注 0票数 0

我有一个带有父页面(index.php)的网站,它将所有子页面加载到一个框架中,并使URL保持静态(因此,如果我在整个站点导航,URL将始终是htps://localhost/myWebsite/)。

现在,当我直接转到一个子页面(htps://localhost/myWebsite/ child Page.php)时,该页面将在没有样式的情况下加载,并且该网站将不在index.php上。

因此,我编写了一个解决方案,将所有子页面重定向回index.php页面,并根据我通过HTML5传递的会话变量加载框架内容。一旦在index.php页面上,会话变量将被清除,一切都是好的。

唯一的问题是,我正在为外部.JS文件中的条件检查编写URL,该文件保存了我重定向、设置/清除会话变量的过程。我的老板说他不想要任何硬编码,所以我想知道是否有一种方法来获取index.php页面的网址值,不管你现在在哪个页面上?

我需要一个变量,它将始终保存值"htps://localhost/myWebsite/“(主URL)和一个始终保存该值的变量:"htps://localhost/myWebsite/index.php”(主页)

代码语言:javascript
复制
var theURL = window.location.protocol 
             + "//" 
             + window.location.hostname 
             + window.location.pathname;


var theURL = document.URL;

这两种方法都非常适合获取当前的URL值,但是在不同的页面上都会发生变化。我尝试使用PHP获取服务器根目录,但它将我导航到网站的分层视图。

有办法这样做吗?还是我应该找到一个完全不同的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-02 19:49:12

index.php没有什么特别之处,可以通过javascript找到它。您可以使用php搜索'index.php‘在您的网站根目录下,但这将是完全多余的,因为你已经知道它在哪里。这里的“硬编码”并不意味着你认为它意味着什么。通常,处理这种情况的方法是定义一个变量(在php中为常量)来保存该值。

代码语言:javascript
复制
var REDIRECT="/myWebsite/index.php"

然后代替使用绝对重定向,使用变量值。这样,如果将来需要改变,你可以在一个地方改变它。这实际上更多的是一个逻辑上可以做什么的问题,而不是你可以用javascript做什么的问题。不能重定向到任意目的地,也不能计算任意目的地的路径。上述路径必须以某种方式计算,在您的情况下,计算是微不足道的--您已经知道它是什么了。

请注意,在这里,我使用了一个/并省略了完整的网站url。这样,如果您必须将站点从本地机器移动到一个实时版本,那么您的重定向应该仍然有效。

这里:How to extract base URL from a string in JavaScript?是一个问题,它解决了在另一种情况下可能需要的url的基本路径计算问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23435070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档