关于javascript:在url字符串中传递参数字符串

passing string of arguments in a url string

本问题已经有最佳答案,请猛点这里访问。

我的变量:

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

我的阿贾克斯邮报:

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

它返回失败,因为"args"值被视为完整查询字符串的延续。我相信有很多方法可以做到这一点,但我怎样才能做到呢?category=customer&year=2014"在我的.asp文件上被视为字符串?

现在我有这些

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

任何解决方案都值得赞赏,但最好是最有效的,谢谢。


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

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

编码还有两个附加选项。encodeuri和escape。请参阅最佳实践:escape或encodeuri/encodeuricomponent以获取更多信息。