Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用参数检索整个URL?_Javascript - Fatal编程技术网

Javascript 如何使用参数检索整个URL?

Javascript 如何使用参数检索整个URL?,javascript,Javascript,我需要用参数作为字符串检索整个URL。例如,我需要检索以下URL: http://www.keytometals.com/page.aspx?ID=CheckArticle&site=kts&LN=EN&NM=349 http://www.keytometals.com/page.aspx?ID=CheckArticle 我尝试使用: document.location.href, document.URL, window.location.href 但它只检索UR

我需要用参数作为字符串检索整个URL。例如,我需要检索以下URL:

http://www.keytometals.com/page.aspx?ID=CheckArticle&site=kts&LN=EN&NM=349
http://www.keytometals.com/page.aspx?ID=CheckArticle
我尝试使用:

document.location.href,
document.URL,
window.location.href
但它只检索URL的一部分:

http://www.keytometals.com/page.aspx
如何获取包含当前URL及其参数的字符串

一个更新:我使用了

window.content.document.location.href
我有以下网址:

http://www.keytometals.com/page.aspx?ID=CheckArticle&site=kts&LN=EN&NM=349
http://www.keytometals.com/page.aspx?ID=CheckArticle
不幸的是,它仍然是URL的一部分。有人能帮我把整个URL变成一个字符串吗


谢谢

您只需要简单的
文档。位置
——这将包括所有内容。您需要编写自己的代码,以便在第一时间拆分它?只获取查询字符串,然后在每个&处将其拆分为名称/值对

编辑:

实际上,您也可以使用
location.search
。以下是我为此编写的一个片段:

function loadQueryString(){ 
    var parameters = {}; 
    var searchString = location.search.substr(1); 
    var pairs = searchString.split("&"); 
    var parts;
    for(i = 0; i < pairs.length; i++){
        parts = pairs[i].split("=");
        var name = parts[0];
        var data = decodeURI(parts[1]);
        parameters[name] = data;
    }
    return parameters;
}

params = loadQueryString();
函数loadQueryString(){
var参数={};
var searchString=location.search.substr(1);
var pairs=searchString.split(&);
var部件;
对于(i=0;i
您应该对整个URL(包括查询字符串)使用
window.location.href

有关更多信息和其他属性,请参阅

下面是另一篇关于如何使用的好文章

然后你就这样使用它:

// get a single key (if it exists)
var t = getQueryString('site');
console.log(t);

// get the whole thing as an object
t = getQueryString();
console.log(t);

那就
window.location
?window.location.href对我有效。不幸的是,无论是window.location还是window.location.href都对我无效。我在中尝试了在线Javascript编辑器,编写document.write(window.location.href),但结果是:您正在internet explorer中尝试吗?为什么使用
eval()
?括号符号是你的朋友:)@alex:你为什么不自己修呢?:)嗯,我想当我最初写它的时候,我还没有完全理解数组和对象在JS中本质上是相同的这一事实。所以,是的,括号很好用。@Crozin:我不知道我是否应该在答案中修改别人的代码请告诉我如何将这个params变量写成字符串好吗?我尝试了document.write(params.toString),但它不起作用。您能告诉我如何将此对象作为字符串检索吗?当我尝试使用document.write(t)进行写入时,它只写入“object object”…您不能将对象写入字符串,但可以将对象的属性写入字符串。使用上面的第二个示例(将整个内容作为对象),如果您想编写文档的
site
键,那么它将是
document.write(t.site)
。不幸的是,它不起作用。例如,当我尝试在中使用document.write(window.location.href)检索URL时,我只得到了。我使用的是Mozilla Firefox 4。