Это результат console.info ниже:
console.info('subscribe:', event.url);
"https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true"
Где я хочу раздеть src_1E2lmZHazFCzVZTmhYOsoZbg и src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ
Как этого добиться?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


const [a, b] = event.url.split("?")[0].split("/").slice(-2);
const url = "https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true";
const res = url.split(/\?|//g).filter(el => el.startsWith("src"));
console.info(res)Если параметр запроса ?success=true является необязательным (как в большинстве случаев является), вы можете
function getSrcAndSecret (url) {
const pts = //(src_[^/?]+)/(src_client_secret_[^/?]+)/.exec(url);
return {
src: pts && pts[1] || "",
secret: pts && pts[2] || ""
}
}
// Demo:
const test1 = getSrcAndSecret("https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true");
const test2 = getSrcAndSecret("https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ");
const test3 = getSrcAndSecret("https://hooks.stripe.com/adapter/ideal/redirect/complete");
console.info(test1, test2, test3)Преобразуйте строку в url, прочитайте путь, а затем разбейте на / и возьмите последние две части.
var str = "https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true"
const parts = new URL(str).pathname.split('/').slice(-2)
console.info(parts)
хотел бы я удалить свой ответ сейчас - хотя это будет не работает ни в одном браузере IEdeveloper.mozilla.org/en-US/docs/Web/API/URL/URL