我有这个字符串,里面插入了两个变量
URL='https://bla.com/api/multicomplete?data={"query":"' + title_text + " " + city_name + '"}';
有时,title_text
包含一些古怪的字符(&,$,字母如đ等......),结果如下:
title_text = 'Airport Hotel Park & Fly Sofia'
...?data={"query":"Airport%20Hotel%20Park%20&%20Fly%20Sofija",...
我可以认为那是因为我在%20&%20
中有URL
,而且当我删除&%20
(& space)时,我没有错误。
所以我尝试过这种方法:
JSON.stringfy(title_text)
让我通过URL发送这些字符,但它不起作用。有没有一个很好的方法来逃避那个长字符串中的特殊字符?我不想把它们永远地移走,我觉得它很脏。
答案 0 :(得分:1)
您必须使用encodeURI()
使用URI编码来解决此问题。
您可以执行JSON.stringify
并与基本网址连接,就像您已经完成的那样。