我使用Angularjs将get http请求发送到服务器。服务器使用Spring MVC响应休息请求。这是我的角度网址构建的代码段代码:
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<Data> search() {
// search logic
return data;
}
查询包含问号字符(?)时出现问题。对该URL进行拆分,以使Spring响应:WARN osweb.servlet.PageNotFound-在DispatcherServlet中,名称为'mvc'的URI [/ my-server / web / search / wo]找不到HTTP请求的映射
这是对的,因为问号?介绍请求参数的开头。我尝试使用js函数,encodeURI(query)
但问号字符未编码。如何在url中编码问号?谢谢
Javascript为此具有特殊的功能encodeURIComponent
encodeURIComponent会转义除以下字符外的所有字符:字母,十进制数字--_。!〜*'()
同时encodeURI
也不编码; , / ? : @ & = + $ #
字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句