Ваша проблема возникла из a = a.replace(/+/g, "%20");
, +
означает повторение символа один или несколько раз, но перед ним нет символа, если вы хотите заменить «+» на «% 20», вы можете просто позвонить a.replace("+", "%20")
или regex ver a.replace(/\+/g, "%20")
Извините, a.replace("+", "%20")
замените только первые "+", поэтому вам нужно a.replace(/\+/g, "%20")
, чтобы заменить все "+" на "% 20"