你如何从网址获取当前的sessid并在javascript中使用它?

时间:2013-05-22 17:52:01

标签: javascript

很抱歉,如果这是一个noob问题,网络管理员在不知不觉中变成了网络开发者:)我试图了解如何获取当前的sessid并将其放入javascript中sessid =(当前sessid),它在网址上并在您访问搜索页面时生成。例如:http://www.southerntiredirect.com/shop/catalog/search?sessid=uUQgRHQyekRGJcyWwTFwf5hxep7cdYlV4CdKfunmjxNOQPEgDZdJD2tNgRsD7Prm&shop_param=

<script language="JavaScript">
    var url= "http://www.southerntiredirect.com/online/system/ajax_search_manufacturer?sessid=????????";
  </script><script type="text/javascript" src="http://www.southerntiredirect.com/online/templatemedia/all_lang/manufacturer.js"></script><input type="hidden" name="sessid" value="sessid??????">

3 个答案:

答案 0 :(得分:0)

您可以使用简单的正则表达式:

var url = "http://www.southerntiredirect.com/shop/catalog/search?sessid=uUQgRHQyekRGJcyWwTFwf5hxep7cdYlV4CdKfunmjxNOQPEgDZdJD2tNgRsD7Prm&shop_param=";
var match = url.match(/sessid=([^&]+)/);
if (match === null) {
    throw new Error("now what? D:");
}
var sessid = match[1];

英文正则表达式:查找"sessid="然后捕获任何不是&

的内容

答案 1 :(得分:0)

使用我方便的图书馆URLTools!

<强>库

//URLTools- a tiny js library for accessing parts of the url
function urlAnalyze(url) {
    if (url == undefined) {var url = document.location.toString();}
    url = url.replace(/\%20/g," ");
    //seperates the parts of the url
    var parts = url.split("?");
    //splits into sperate key=values
    if (parts[1] == undefined) {return 1;}
    var keyValues = parts[1].split("&");
    var key = function () {}
    keyValues.forEach(function (keyValue) {
        var keyAndValue = keyValue.split("=");
        key[keyAndValue[0]] = keyAndValue[1];
    });
    return key;
}

然后,只需调用URLAnalyze并获取sessid密钥。

<强>用法

var urlKeys = urlAnalyze(),
    sessid = urlKeys["sessid"];

答案 2 :(得分:0)

here是一个很棒的函数,可以抓取你想要的任何内容并返回它的键值。

此函数的主要部分使用window.location.href获取网址,然后在其上执行正则表达式以查找密钥和值。

我不接受此代码的信用。

请转到link查看完整示例

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(
        /[?&]+([^=&]+)=([^&]*)/gi,
        function(m,key,value) {
            vars[key] = value;
        });
    return vars;
}