在 url 字符串中传递参数字符串

passing string of arguments in a url string

我的变量:

var strArgsString = "?Category=Customer&Year=2014";
var intModuleNo = "2";
var strOrigDashName = "Invoices"

我的AJAXPost:

    var jqxhr = $.post("includes/saveParameters.asp?dname="+strOrigDashName+"&mod="+intModuleNo+"&args='"+strArgsString+"'", function() {
    alert("success");
})
.fail(function() {
    alert("error");
});

它 returns 失败,因为 "args" 值被视为完整查询字符串的延续。 我确信会有很多方法可以做到这一点,但我怎样才能在我的 .asp 文件中将“?Category=Customer&Year=2014”视为字符串?

目前我有这些

strDashboardName = Request.QueryString("dname")
intModuleNumber = Request.QueryString("mod")
strParamsArgString = Request.QueryString("args")

感谢任何解决方案,但优先考虑最有效的解决方案,谢谢。

我想你想对 args 字符串进行编码,以便它可以表示为数据,而不是查询字符串的文字延续。

var strArgsString = encodeURIComponent("?Category=Customer&Year=2014");
var intModuleNo = "2";
var strOrigDashName = "Invoices"

还有两个额外的编码选项。 encodeURI 和转义。请参阅 Best practice: escape, or encodeURI / encodeURIComponent 了解更多信息。