如何在js和java之间进行编码和解码?
我正在一个项目中工作,使用java脚本作为前端,使用java作为后端,我的问题是我想使用restangular调用向后端资源传递一些字符串。如果传递的参数在字符串之间有空格,那么在到达后端资源端之前,我得到了500(服务器错误) 让我们举个例子: At Java脚本:重新启动语言调用如何在js和java之间进行编码和解码?,java,javascript,angularjs,restangular,Java,Javascript,Angularjs,Restangular,我正在一个项目中工作,使用java脚本作为前端,使用java作为后端,我的问题是我想使用restangular调用向后端资源传递一些字符串。如果传递的参数在字符串之间有空格,那么在到达后端资源端之前,我得到了500(服务器错误) 让我们举个例子: At Java脚本:重新启动语言调用 var myRestCall= Restangular.all('myRoot/myMethod/'+myLocalPath+'/'+folderName); restPSTFolders.getList().th
var myRestCall= Restangular.all('myRoot/myMethod/'+myLocalPath+'/'+folderName);
restPSTFolders.getList().then(function(listPSTFolders){
//my stuff
});
在Java资源:
@ApiOperation(value = "My Method",
notes = "Returns My Method list",
responseContainer = "List",
response = List.class)
@Path("/myMethod/{myLocalPath}/{folderName}")
@GET
@Transactional
@Timed
public List myMethod(@PathParam("myLocalPath") String myLocalPath, @PathParam("folderName") String sFolderName) {
//my stuff
}
在我的示例中,myLocalPath
参数可以在字符串中包含空格和特殊字符,因为它可以是任意字符:
- C:\MY DRIVE\MY Path One\MY Path
- 我最喜欢的
var parameterJsonPath = {};
parameterJsonPath={"myLocalPath": pathValue};
var myRestCall= Restangular.all('myRoot/myMethod/'+parameterJsonPath+'/'+folderName);
没有任何意义,因为我得到:。/myRoot/myMethod/%5Bobject%20Object%5D加载资源失败:服务器响应状态为500(服务器错误)
将parameterJsonPath设置为JSON.stringify(parameterJsonPath)
将此字符串作为对我没有用处的字符串传递
总之,有没有什么好方法可以在js中对字符串的特殊字符进行编码,这样在后端,我就可以使用编码时使用的相同密钥对该字符串进行解码?@KevinMorse请查看我的编辑