【问题标题】:Unable to receive parameter in query string when redirected to other page重定向到其他页面时无法接收查询字符串中的参数
【发布时间】:2017-01-06 05:30:45
【问题描述】:

您好,我正在用 java 脚本开发一个应用程序。我有两个页面 default.aspx 和 addnewitem.aspx。 default.aspx 中有一个 html 表格和一个按钮。当我单击按钮时,我想重定向到 addnewitem.aspx 页面。我有一些参数要在查询字符串中发送。我能够重定向到 addnewitem.aspx 但我得到的页面未找到错误。我不确定为什么我会收到找不到页面的错误。我正在尝试如下。

function getValues() {
    var Title = "dfd";
    var PrimarySkills = "fdfd";
    var SecondarySkills = "dfdf";
    var url = "http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=" + encodeURIComponent($(Title)) + "&PrimarySkills=" + encodeURIComponent($(PrimarySkills)) + "&SecondarySkills=" + encodeURIComponent($(SecondarySkills));
    window.location.href = url;
}

我正在检查 addnewitem.aspx 中的查询字符串,如下所示。

<script type="text/javascript">
        var queryString = new Array();
        $(function () {
            if (queryString.length == 0) {
                if (window.location.search.split('?').length > 1) {
                    var params = window.location.search.split('?')[1].split('&');
                    for (var i = 0; i < params.length; i++) {
                        var key = params[i].split('=')[0];
                        var value = decodeURIComponent(params[i].split('=')[1]);
                        queryString[key] = value;
                    }
                }
            }
            if (queryString["Title"] != null && queryString["PrimarySkills"] != null) {
                var data = "<u>Values from QueryString</u><br /><br />";
                data += "<b>Title:</b> " + queryString["Title"] + " <b>PrimarySkills:</b> " + queryString["PrimarySkills"] + " <b>SecondarySkills:</b> " + queryString["SecondarySkills"];
                $("#lblData").html(data);
                alert(data);
            }
        });
</script>

"http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=%5Bobject%20Object%5D&PrimarySkills=%5Bobject%20Object%5D&SecondarySkills=%5Bobject%20Object%5D"

我尝试了很多来解决这个问题。我可以知道我在哪里做错了吗?感谢您的帮助。

【问题讨论】:

  • 尝试在浏览器上浏览简单页面URL,查看页面是否找到。
  • 谢谢.. 我的两个页面都是.aspx?在这种情况下 cookie 会起作用吗?
  • 你来了。谢谢。

标签: javascript asp.net query-string


【解决方案1】:

您应该在url 中使用相对路径,而不是对整个文件夹结构进行硬编码,这可能是不正确的,因为您得到的是 404。而且您每次将网站发布到主机时都需要更改 url像这样硬编码时的环境。

所以改变

var url = "http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=...

进入

var url = "/AddNewItem.aspx?Title=...

如果两个页面都在同一个文件夹中。如果AddNewItem.aspx 位于Pages 文件夹中,您当然必须添加该文件夹:var url = "/Pages/AddNewItem.aspx?Title=...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2022-01-18
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多