Передать параметр url в случае переключения в javascript

#javascript

#javascript

Вопрос:

Я пытаюсь передать параметр в URL-адресе, и на основе этого параметра я создал оператор switch в javascript для вызова определенной функции, которая запустит задание Дженкинса.

URL-адрес выглядит следующим образом: http://localhost:8000/user/build-trigger/?job=data1

Мой код выглядит следующим образом :

 $(function(){
        init_build_trigger();
    })

    function init_build_trigger(){
    const urlParams = new URLSearchParams(window.location.search) ;

    switch (urlParams) {

        case "data1":
            $.getJson("/model-api/jenkins/build_for_data1/",function(data){
        })
        break;

    case "data2":
            $.getJson("/model-api/jenkins/build_for_data2/",function(data){
        })
        break;
           }

    console.log(urlParams.get('job')) ;
    }
 

Функция сборки выглядит следующим образом :

  def build_for_data1(self, request):
        url = "jenkins url "
        response = requests.get(url)
        result = None
        if response:
            result = "started successfully."
        else:
            result = "failed. An error has occurred."    
        return Response(result)
 

Когда я получаю доступ к ссылке, ничего не происходит, задание не запускается.
Может кто-нибудь объяснить, чего мне не хватает?

Комментарии:

1. «data1» — это строка, а не URLSearchParams объект. Возможно, вы сможете сделать это с switch (urlParams.get("job")) помощью …

Ответ №1:

Согласно URLSearchParams, он возвращает объект карты, который вы можете перебирать.

Поэтому вам нужно использовать это следующим образом

 switch (urlParams.get('job')) {
 ...
}