【问题标题】:Get URL and set a variable获取 URL 并设置变量
【发布时间】:2010-11-02 14:12:23
【问题描述】:

嘿,我认为这是一个简单的问题。我有一个 URL,我想在变量中设置其中一个目录。

网址:
http://www.domainname.com/Irving/For-Sale/Used/Dodge/Ram-1500/2009--Black-Truck/4691335/

var usedInventory = _____

我需要一个等于“Used”的变量

如果您有任何问题,请告诉我!

谢谢!

【问题讨论】:

  • 我不太明白。您正在尝试从 URL 中查找 3 级目录的值?
  • 是的,你是对的......对不起,如果我不是很清楚! :)
  • 你想要的总是第三层吗?

标签: javascript jquery url


【解决方案1】:
js> var url = 'http://www.domainname.com/Irving/For-Sale/Used/Dodge/Ram-1500/2009--Black-Truck/4691335/';
js> url.split('/')[5]
Used

在浏览器环境中,使用location.href 而不是url。顺便说一句,您甚至不必涉及 jQuery。

var urlParts = location.href.split('/');
var yourField = urlParts[5];

【讨论】:

  • +1。您也可以使用window.location.pathname 跳过不相关的主机名部分,只拆分路径参数。在这种情况下,所需的部分是[2]
【解决方案2】:

我会使用 PHP 从 URL 中获取变量。由于您使用的是 mod_rewrite,我假设该变量名为“used”。我还假设您在 PHP 环境中工作。

<?php $used = $_GET['used']; ?>

var usedInventory = <?php echo $used; ?>

【讨论】:

  • 您应该使用$used = isset($_GET['used']) ? $_GET['used']: ''; 以确保如果未设置变量则不会引发通知。
  • 漂亮的 URL 并不意味着 mod_rewrite(随后也不意味着 PHP)。 Apache 只是众多允许 URL 重写的 Web 服务器引擎之一,其他服务器端技术也可以与 Apache 一起使用。
【解决方案3】:
mystring = "http://www.domainname.com/Irving/For-Sale/Used/Dodge/Ram-1500/2009--Black-Truck/4691335/";
if (mystring.match(/Used/)) {
    alert("Used");
}

【讨论】:

  • 他想提取它,而不是检查它是否包含它——尤其不是在随机位置...
猜你喜欢
  • 2014-07-21
  • 2011-12-14
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多