我正在做一个ajax
请求jQuery
,例如,我的 URL 是http://test.com/query.php?hello=foo bar
但是,请求只需要http://test.com/query.php?hello=foo
. 我怎么做才能让它占用空间?以及特殊字符实体,如&
, -
,!
等。
谢谢
我正在做一个ajax
请求jQuery
,例如,我的 URL 是http://test.com/query.php?hello=foo bar
但是,请求只需要http://test.com/query.php?hello=foo
. 我怎么做才能让它占用空间?以及特殊字符实体,如&
, -
,!
等。
谢谢
我怎么做才能让它占用空间?
通过正确的url 编码空间:
http://test.com/query.php?hello=foo+bar
或者:
http://test.com/query.php?hello=foo%20bar
以及特殊字符实体,如 &、-、! 等。
一样的。确保对它们进行正确的 url 编码:
&
=>%26
-
=> -
(不需要编码)!
=> !
(不需要编码)为了在 javascript 中正确执行此操作,您可以使用该encodeURIComponent
函数。
或者,如果您使用 jQuery,您也可以查看该$.param()
方法。
最后,如果您使用 jQuery 发送 AJAX 请求,您可以这样做:
$.ajax({
url: 'query.php',
type: 'GET',
data: { hello: 'foo bar' },
success: function(result) {
...
}
});
并且 jQuery 将负责正确地对data
散列中传递的查询字符串参数进行 url 编码。
您可以encodeURI(URI)
访问此链接以获取更多信息
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURI