使用ajax输入url,其中{key}中含有/,:等字符,如果不进行转义,就会出错,所以使用js对他们进行转义一下。
:对应%3A
/对应%2F,这样转也是不写的,得写成\/
比如Student:src/main/java/nju/wqy/constants/TestMain.java就应该转义成
Student%3Asrc%2Fmain%2Fjava%2Fnju%2Fwqy%2FApplication.java
使用正则表达式进行替换
str=str.replace(/\//g, "\/");
str=str.replace(/\:/g, "%3A");
还遇到一个跨域调用的问题,服务器端已经设置好允许跨域调用了,调用其它的时候都没问题,这里调用staticCheck/code/{key}但是调用包含%2F的就会这样
![](https://img.haomeiwen.com/i6221255/b4ab2d83e0b378cc.png)
解决办法,我之前用的是get @PathVarible,现在改成post,@RequestBody就好了
网友评论