Проблема с кодировкой URL в Vuejs

Я использую пакет axios для кодирования URL-адреса и отправки запроса на получение. Между некоторыми параметрами URL-адреса есть пробелы. Я использую функцию encodeURI для кодирования URL-адреса перед отправкой запроса, но все же запрос не отправляется должным образом.

Вот мой код компонента в Vuejs

<template>
</template>

<script>

import axios from 'axios'
name:  'GetCategoryItemsAndDisplayOne',
data(){
    return {
        catalogselected : "macy's",
        data_to_show_on_mainpage : [],
        categoriesfordisplay :{men_for_display:[],women_for_display:
        []}

    }
},
methods:{
  CatlogService(catlog_name,category,gender,mainpage){


        let url = "http://localhost:5000/xyz/" + (this.catalogselected) +"/api/"+ (gender) + "/catalogvis/" + (category) +"/items"


        axios.get(encodeURI(url)).then((resp)=>{

            try{
                this.data_to_show_on_mainpage.push(resp.data.response.Results.results[0])
                console.log(this.data_to_show_on_mainpage)
            }
            catch(e){
                console.log("we got an error the url is " + url)

            }


        })
    },
  GetItemsToShowonMainPage(){
       this.categoriesfordisplay.men_for_display = ["cat and dog", "coats and jackets", "good and bad","bad day"]

       this.categoriesfordisplay.women_for_display = ["slow poke", "coats and jackets", "good","mad world","bathroom wear"]

        if(this.categoriesfordisplay.men_for_display.length>0){
            var i=0;
            for(i =0;i<this.categoriesfordisplay.men_for_display.length;i++){
                let category = this.categoriesfordisplay.men_for_display[i].replace(/"/g,""); 

                this.CatlogService(this.catalogselected,category,'men',this.ismainpage)

            }

        }
        if(this.categoriesfordisplay.women_for_display.length>0){
            var i=0;
            for(i =0;i<this.categoriesfordisplay.women_for_display.length;i++){
                let category = this.categoriesfordisplay.women_for_display[i].replace(/"/g,"");

                this.CatlogService(this.catalogselected,category,'women',this.ismainpage)

            }

        }




    },
  created(){
  this.GetItemsToShowonMainPage()
 }
</script>
<style></style>

Когда я делаю запрос таким образом, URL-адрес не закодирован должным образом. Вот пример http://localhost:5000/xyz/macy's/api/women/ catalogvis/одежда для ванной/предметы

Я даже пробовал encodeURIComponent(), но все равно не работает. Где я ошибаюсь? Как решить эту проблему.


person anirudh kumar    schedule 24.04.2018    source источник
comment
См. следующее: stackoverflow.com /вопросы/18251399/   -  person Denis Tsoi    schedule 24.04.2018