繁体   English   中英

如何将值从查询字符串传递给javascript?

[英]How can i pass values from querystring to javascript?

既然我已经学会了如何通过flashvars将值传递给SWF对象 ,请指导我如何将值从查询字符串传递给javascript?

我的意思是什么? 在以下示例中,我对要在SWF对象中加载的xml文件进行硬编码。

<script type="text/javascript">
    var so = new SWFObject("preview.swf", "", "100%", "100%", "9", "#ffffff");
    so.addParam("allowFullScreen", "true");
    so.addParam("scale", "noscale");
    so.addParam("menu", "false");
    so.addVariable("xmlPath", "xml/exampleData.xml");
    so.write("flashcontent");
</script>

由于Xml文件是动态创建的,因此应该从查询字符串的值加载xml。 (我猜)。

假设我的网址是http://www.example.com/load.aspx?XmlFile=SomeData

我怎样才能将它传递到javascript端? 喜欢..

  so.addVariable("xmlPath", "xml/<% SomeData %>.xml");

或任何它需要使其工作。

更新:除了上面的例子,有没有办法在服务器端创建JavaScript?

尝试类似的东西:

function GetQueryString(param) 
{
 var url = window.location.search.substring(1);
    var params = url.split("&");
    for (i=0;i<params.length;i++) 
    {
        var p = params[i].split("=");
        if (p[0] == param) 
        {
            return p[1];
        }
    }   
}

并使用它像:

so.addVariable("xmlPath", "xml/" + GetQueryString("XmlFile") + ".xml");

window.location.href包含当前页面的查询字符串,这应该有效:

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    return vars;
}

function getUrlVars(){var vars = [],hash; var hashes = window.location.href.slice(window.location.href.indexOf('?')+ 1).split('&');

for(var i = 0; i < hashes.length; i++)
{
    hash = hashes[i].split('=');
    vars.push(hash[0]);
    vars[hash[0]] = hash[1];
}

return vars;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM