我有一个带参数的GET请求,这个参数也是一个URL。所以通常我只是对URL进行编码,然后在我的服务器中对其进行解码,这完全可以从Java中完成,但现在我使用的是jQuery而且我遇到了问题。
这是该参数的值:
当我像这样编码时:
encodeURI(userURI)
我得到了相同的价值,而我认为我应该得到这个
的http%3A%2F%2Fwww.BookOntology.com%2Fbo%23ania
我当前的方法(使用econdeURI)带来了这个最终的URL(注意我只想编码参数而不是整个URL)。
http://bla bla bla?userURI = http://www.BookOntology.com/bo#ania
但在服务器中,当我读取userURI参数的值时,我得到:
对于我对该参数的值进行编码的方式肯定是一个问题,因为同样,编码之前和之后的值是相同的,尽管该值包含一些应该更改的字符。
你能帮助我通过吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
encodeURI
只会更改无法在网址中显示的字符。
您正在寻找encodeURIComponent
,它也会对网址中具有特殊含义的所有字符进行编码(并使其适合插入查询字符串中)。