0

我正在做一个ajax请求jQuery,例如,我的 URL 是http://test.com/query.php?hello=foo bar

但是,请求只需要http://test.com/query.php?hello=foo. 我怎么做才能让它占用空间?以及特殊字符实体,如&, -,!等。

谢谢

4

2 回答 2

2

我怎么做才能让它占用空间?

通过正确的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 编码。

于 2012-06-17T18:36:25.750 回答
0

您可以encodeURI(URI)
访问此链接以获取更多信息 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURI

于 2012-06-17T18:39:10.023 回答