无法通过查询字符串传递#字符

时间:2014-04-07 13:16:09

标签: c# jquery query-string

我在jquery中创建了一个链接值为" www.mypage.com?id =" + id

我遇到的问题是,在最近的一个案例中,一些id中包含#字符,这会打破id值。如何在jquery中创建一个带有#的查询字符串,并在页面加载时在C#中准确读取该值?

4 个答案:

答案 0 :(得分:8)

使用

encodeURIComponent()

在通过之前

像:

"www.mypage.com?id=" + encodeURIComponent(id);

或只编码整个网址。

答案 1 :(得分:1)

不要将'#作为身份证明的一部分。它用于分隔URL的部分。要么逃避它,要么修复发送#作为id的一部分的代码(因为我怀疑它不应该)。

答案 2 :(得分:0)

你可以找到/替换'#'的实例并交换'%23'这是转义字符。

作为参考,我在快速Google搜索中找到了常见转义字符列表:http://www.werockyourweb.com/url-escape-characters

答案 3 :(得分:0)

我希望这可以帮到你,这是一小段代码:

<body onload="catchingData()">


<script type="text/javascript" language="javascript">
    function catchingData() {
        var myurl = document.URL;
        var myToken = myurl.split("access_token"); //---> Split your url in the browser
        self.location = "yourWebForm.aspx" + "?" + myToken[1];
    }
</script>