js 获取地址传参

本文介绍了一个使用ASP.NET和C#实现的简单网页示例,该示例通过JavaScript函数解析URL中的查询参数,并展示如何获取这些参数的值。通过在页面加载时触发的JavaScript函数,可以读取如'a'和'b'这样的URL参数。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="UrlDemo._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">
        function GetRequest() {
            var url = location.search; //获取url中"?"符后的字串  
            var theRequest = new Object();
            if (url.indexOf("?") != -1) {
                var str = url.substr(1);
                strs = str.split("&");
                for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
                }
            }
            return theRequest;
        }
        function test() {
            var Request = new Object();
            Request = GetRequest();
            var a = Request["a"];
            var b = Request["b"];
            alert(a);
            alert(b);
        }
        //输入url:(http://localhost:3195/Default.aspx?a=1&b=2)
    </script>
</head>
<body onload="test();">
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>


在 Vue2 中,获取 URL 地址是否传参有多种方法,以下是详细介绍: - **使用 `this.$route.query`**:在 Vue 组件里,可借助 `this.$route.query` 来获取 URL 中的查询参数。若 `this.$route.query` 不为空对象,就表明 URL 有传参。示例代码如下: ```javascript export default { created() { if (Object.keys(this.$route.query).length > 0) { console.log('URL 有传参'); console.log(this.$route.query); } else { console.log('URL 没有传参'); } } } ``` 此方法适用于普通的 Vue 路由传参场景,像从一个页面跳转到另一个页面并传递参数的情况 [^1][^2]。 - **使用 `watch` 监听 `$route` 对象**:可以利用 `watch` 来监听 `$route` 对象的变化,当 `$route.query` 发生变化时进行判断。示例代码如下: ```javascript export default { watch: { '$route.query': { handler(newQuery) { if (Object.keys(newQuery).length > 0) { console.log('URL 有传参'); console.log(newQuery); } else { console.log('URL 没有传参'); } }, immediate: true } } } ``` 这种方法能实时监测 URL 参数的变化,当路由变化时自动进行判断 [^2]。 - **使用 JavaScript 的 `split` 拆分取参**:若遇到外系统跳转进入的 URL 带有特殊后缀(如 “`#/`”),可使用 JavaScript 的 `split` 方法来解析 URL 参数。示例代码如下: ```javascript function getUrlParam() { var url = location.search; var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); var strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]); } } return theRequest; } var Request = getUrlParam(); if (Object.keys(Request).length > 0) { console.log('URL 有传参'); console.log(Request); } else { console.log('URL 没有传参'); } ``` 该方法适用于特殊的 URL 格式,在普通的 Vue 路由传参方法无法使用时可以采用 [^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值