使用“&"以及“+"在Querystring中
Using "&" and "+" in Querystring
In在Javascript中调用以下URL。
var par = "Participant.aspx?ID=" + Id + "&NAME=" + Name+ "&FIRSTNAME=" + Firstname;
有时Name或Firstname包含"与"或"加号"。
For Example: Richard & Michael or Richard + Michael
在服务器端,我读取的查询字符串如下:
Dim Name As String = Request.QueryString("NAME")
Dim Firstname As String = Request.QueryString("FIRSTNAME")
我的问题是,如果查询字符串包含一个"加号",则该符号将转换为空格('');如果查询字符串含有一个"与",则"与"之后的所有内容都将被删除。
我试过几种类似的东西。Request.Form而不是Requeust.Querystring,我也尝试了Server.URLEncode。但两者都不合适。
URLEncode的问题是,如果Querystring在Name和"加号"之间包含空格,这些空格也会转换为"加号"。
你知道如何解决这个问题吗?
您可以将encodeURIComponent用于查询字符串值,然后将其设置为查询字符串
var url = encodeURIComponent($("#<%=hdnPageQuery.ClientID%>").val());
var title = encodeURIComponent(document.title);
var redirectUrl = $("#<%=hdnPageTarget.ClientID%>").val();
var outputUrl = redirectUrl + '?url=' + url + '&title=' + title;
$('#ancSendToFriendLink').attr('href', outputUrl);
var par = "Participant.aspx?ID=" + encodeURIComponent(Id) +
"&NAME=" + encodeURIComponent(Name) +
"&FIRSTNAME=" + encodeURIComponent(Firstname);
(同样,从技术上讲,名称也应该编码,但"ID"、"NAME"answers"FIRSTNAME"编码的内容完全相同,所以我没有在它们上使用encodeURIComponent
。)
参见AntP关于加号和空格的评论:
"URLEncode的问题是,如果Querystring在Name和"加号"之间包含空格,这些空格也会转换为"加号"。"-这就是应该发生的情况。加号表示一个空格。编码的加号表示加号。
您可以使用预定义的UrlEncode和UrlDecode UrlDecode和UrlEncode
希望这对您有所帮助。
嘿,还有另一种方法:
在将其传递给查询字符串之前,只需替换:
.替换("&","%26");
在另一页上,它自动将%26读取为&,但是它也不读作&,再次替换:
。替换("%26","&");
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 使用“&"以及“+"在Querystring中