#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')) {
...
}