姬長信(Redy)

如何在Angularjs中编码一个字符串?


我使用Angularjs向我的服务器发送get http请求.服务器使用Spring MVC响应rest请求.这是我的角网址建筑上的代码片段:

var name="myname";
var query= "wo?d";
var url = "/search/"+query+"/"+name;

这里是Spring MVC Controller:

@RequestMapping( value = "/search/{query}/{name}" , method = RequestMethod.GET , produces = MediaType.APPLICATION_JSON_VALUE )
@ResponseBody
public List search() {

    // search logic

return data;
}

当查询包含问号字符(?)时,我遇到了问题.该URL被拆分,以便Spring响应:
?警告o.s.web.servlet.PageNotFound – 找不到带有URI的HTTP请求的映射[/ my-server / web / search / wo在DispatcherServlet中,名称为’mvc’

这是正确的,因为问号?介绍请求参数的开头.
我试过使用js函数encodeURI(查询),但问号字符没有编码.如何在url中编码问号?
谢谢