一尘不染

如何在网址javascript中传递“问号”

angularjs

在Angularjs应用中,我有一个类似的网址
http://url.com/my_app/#/store/items
现在,我想追加查询字符串,例如
http://url.com/my_app/#/store/items?page=2

但在url中,javascript编码了"?" to "%3F"我不想要的。它应该保持为“?” 仅在URL中作为angularjs $
location.search()不会为“%3F”返回任何内容。

怎么做?


阅读 247

收藏
2020-07-04

共1个答案

一尘不染

您的问题中没有足够的细节,因此我假设您在非HTML5模式下使用AngularJS路由-至少是$
location服务
。如果是这样,则该#字符后的部分从单页应用程序的角度表示您的URL(有关AngularJS的更多信息,请参见此处)。

如果上述假设是正确的,则意味着 您不应尝试“手动”添加或操作问号
。相反,您应该更改的search部分$location以处理查询字符串(后面的部分?),问号将根据需要添加/删除到最终网址中。

您可以写:

$location.path('/store/items').search('page', 2)

如您的问题所述,这假设您正在从JavaScript处理URL。

2020-07-04