2010-05-13 202 views

回答

1

您需要使用编码特殊字符,请参阅this页面以供参考。

如果您使用PHP,有一个功能可以执行此操作,称为urlencode()

3

在JavaScript中,您可以使用encodeURI()函数。

ASP具有Server.URLEncode()函数。

HttpServerUtility.UrlEncode在.NET

+0

in .Net你想使用'HttpUtility.UrlEncode' https://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode(v=vs.110).aspx – GJKH 2016-03-07 13:27:30

2

简单的方法来传递查询字符串值和特殊字符用javascript:

var newURL=encodeURIComponent(uri); 
window.location="/abc/abc?q="+newURL; 
4

你需要将它们组合起来,形成一个网址前编码查询参数。这里所需要的功能是encodeURIComponent。例如,

你需要创建的网址是:

http://localhost/mysite/mypage?param=a=?&b=/ 

现在,假设?和/作为变量,你需要先编码它们,然后再放入网址。 因此,让使用此功能(我期待着两个查询参数)创建网址:

var q1 = "a=?"; //came from some input or something 
    var q2 = "/"; //came from somewhere else 

    var faultyUrl = "http://localhost/mysite/mypage?param="+ q1 +"&b=" + q2; 
// "http://localhost/mysite/mypage?param=a=?&b=/" 


    var properUrl = "http://localhost/mysite/mypage?param="+ encodeURIComponent(q1) +"&b=" + encodeURIComponent(q2); 
//"http://localhost/mysite/mypage?param=a%3D%3F&b=%2F" 

此功能是基本的JS和所有的浏览器都支持。

相关问题