Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在js和java之间进行编码和解码?_Java_Javascript_Angularjs_Restangular - Fatal编程技术网

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

我正在一个项目中工作,使用java脚本作为前端,使用java作为后端,我的问题是我想使用restangular调用向后端资源传递一些字符串。如果传递的参数在字符串之间有空格,那么在到达后端资源端之前,我得到了500(服务器错误)

让我们举个例子:

At Java脚本:重新启动语言调用

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
  • 我最喜欢的
要从RESTangular调用将其传递到后端类,我需要用一些字符替换所有空格,这对我来说很有效,但我不认为用任何字符编码特殊字符和空格是一种好方法,因为替换字符也可以是现有路径的一部分,然后在后端再次替换字符,可能会改变路径

编辑:如果我将参数作为json对象传递:

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请查看我的编辑