在请求期间生成可用的URL

时间:2012-06-17 18:34:50

标签: javascript jquery html

我正在通过ajax发出jQuery个请求,例如,我的网址为http://test.com/query.php?hello=foo bar

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

由于

2 个答案:

答案 0 :(得分:2)

  

如何制作它以使其占用空间?

通过适当的url encoding空格:

http://test.com/query.php?hello=foo+bar

或:

http://test.com/query.php?hello=foo%20bar
  

和&, - ,!等特殊字符实体

它是一样的。确保你正确编码它们:

  • & => %26
  • - => -(不需要编码)
  • ! => !(不需要编码)

为了在javascript中正确执行此操作,您可以使用encodeURIComponent函数。

或者如果您使用jQuery,您还可以查看$.param()方法。

最后,如果您使用jQuery发送AJAX请求,您可以这样做:

$.ajax({
    url: 'query.php',
    type: 'GET',
    data: { hello: 'foo bar' },
    success: function(result) {
        ...
    }
});

并且jQuery将正确处理在data哈希中传递的查询字符串参数的url编码。

答案 1 :(得分:0)

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