如何在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

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

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

最佳答案
Javascript为此目的具有特殊功能encodeURIComponent

encodeURIComponent escapes all characters except the following:
alphabetic,decimal digits,– _ . ! ~ * ‘ ( )

而encodeURI也不编码;,/? :@& = $#个字符.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...