在 URL 中读取单个变量的最简单方法是什么?

What is the easiest way to read a single variable in a URL?

使用 Tumblr API,我正在使用我的 post 的 ID 号为我的 post 构建锚点,我的想法是如果我可以从 URL 中读取变量,我可以使用另一个脚本找到一个使用该 ID 的 post 并在我的网站上构建它,让我的观众留在我的页面上而不是离开去 Tumblr。最简单的方法是什么?

以下是 URL 的示例:

    nevermorestudiosonline.com/singlepost.php?id=123456789

简单明了,我想从 URL 中读取 ID 号并将其存储到一个变量中,供 API 调用使用以获取 post。我只是不知道如何将 ID 从 URL 获取到变量。

您可以使用 querystring 模块从 URL 中提取 ID。

var querystring = require('querystring');
var url = "nevermorestudiosonline.com/singlepost.php?id=123456789"

var id = querystring.parse(url)["id"];

JavaScript 方式

var url = 'nevermorestudiosonline.com/singlepost.php?id=123456789';
var temp = url.split('=');
var id = temp[1];

// Now you can play with this id and use it the way you
// you want.
console.log(id);`
var url = "nevermorestudiosonline.com/singlepost.php?id=123456789";
    url = url.split("?")[1]; 
    url = url.slice(url.indexOf("id=") + 3,url.length)      
    console.log(url);

您可以访问 location.search ,这将为您提供从 ? 字符到 URL 的末尾或片段标识符 (#foo) 的开头,以两者为准先来。

您可以使用的代码:

<script type="text/javascript"> 
    var QueryString = function () {
      // This function is anonymous, is executed immediately and 
      // the return value is assigned to QueryString!
      var query_string = {};
      var query = window.location.search.substring(1);
      var vars = query.split("&");
      for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
            // If first entry with this name
        if (typeof query_string[pair[0]] === "undefined") {
          query_string[pair[0]] = decodeURIComponent(pair[1]);
            // If second entry with this name
        } else if (typeof query_string[pair[0]] === "string") {
          var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];
          query_string[pair[0]] = arr;
            // If third or later entry with this name
        } else {
          query_string[pair[0]].push(decodeURIComponent(pair[1]));
        }
      } 
        return query_string;
    }();    
    console.log(QueryString);
</script>