Amb*_*Amb 40 javascript angularjs
在Angularjs app中,我有一个像url的网址
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"返回任何内容.
怎么做?
pko*_*rce 82
您的问题中没有足够的详细信息,因此我假设您在非HTML5模式下使用AngularJS路由 - 或者至少是$ location服务.如果是这样,#字符后面的部分将从单页面应用程序的角度表示您的URL(此处有关于AngularJS的更多信息).
如果上述假设是正确的,则意味着您不应尝试"手动"添加或操纵问号.相反,你应该改变search的部分$location来操纵查询字符串(后部分?)和问号将被添加/根据需要去除,以最终的URL.
在你的情况下你可以写:
$location.path('/store/items').search('page', 2)
Run Code Online (Sandbox Code Playgroud)
这假设您正在操纵JavaScript中的URL,如您的问题中所述.
tox*_*xaq 24
如果您使用的是$ location服务,请$location.url('/store/items?page=2')改用.这是至少1.0.7的setter方法,并在我的1.1.5应用程序中处理.