Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как внести изменение в строке ссылки Get запроса? (https://javascript.ru/forum/misc/79053-kak-vnesti-izmenenie-v-stroke-ssylki-get-zaprosa.html)

Ketlller 11.12.2019 06:42

Как внести изменение в строке ссылки Get запроса?
 
Ребята помогите реализовать очередную затею. В инете не нашел примеров(((

В коде main.js прописанная ссылка, через нее получаю Get запрос данных по API.
Как внести изменения в строке ссылки, чтобы запрос шел по новой ссылке уже?


https://btc-alpha.com/api/v1/orderbook/ETH_USDT/

Надо менять это "ETH" или "ETH_USDT"

Тоесть пишу в окошке (или выбираю со списка огромного) нужную монету - кликаю "Применить" и оно прогружает данные по новой ссылке уже.

Спасибо.

ksa 11.12.2019 07:46

Цитата:

Сообщение от Ketlller
https://www.livecoin.net/ru/trading/ETH_USD
Надо менять это "ETH" или "ETH_USD"

Как вариант...

var url='https://www.livecoin.net/ru/trading/ETH_USD';
url=url.replace(/[^\/]*$/,'new_type');
alert(url);

Ketlller 11.12.2019 09:00

https://codepen.io/vitalij-kotlqr/pen/bGNpREW

Если так ввожу то норм, а через форму ввода то немогу текст передать в JS. Исправь пожалуйста ошибку в передачи текста :help:
А еще обьясни ПОЖАЛУЙСТА как составлят этот код если там другая будет ссылка например эта targetUrl_PZM_USD = 'https://btc-alpha.com/api/v1/orderbook/ETH_USD/';

или эта

targetUrl_PZM_USD_Livecoin = 'https://api.livecoin.net/exchange/order_book?currencyPair=ETH/USD';

Ketlller 11.12.2019 09:33

Цитата:

Сообщение от ksa (Сообщение 517289)
Как вариант...

var url='https://www.livecoin.net/ru/trading/ETH_USD';
url=url.replace(/[^\/]*$/,'new_type');
alert(url);

Тут (/[^\/]*$/,'new_type'); получается после последнее знака / вставляет наш 'new_type'
Это понял).
А если вставка нужна в средине ссылки!! Как быть?

И как передать текст в js ...вместо 'new_type' вставить.:help:

ksa 11.12.2019 10:09

Цитата:

Сообщение от Ketlller
А если вставка нужна в средине ссылки!! Как быть?

Для ответа на твой вопрос нужно знать какие задачи вообще ты собираешься решать...
До этого тебе нужно было менять что-то в конце строки... Потом появилось еще два варианта строк для замены...
Теперь нужно что-то менять вообще в какой-то середине... :blink:

Возможно для каждого варианта замены тебе придется использовать разные варианты замен.

ksa 11.12.2019 10:11

Цитата:

Сообщение от Ketlller
как составлят этот код если там другая будет ссылка например эта
targetUrl_PZM_USD = 'https://btc-alpha.com/api/v1/orderbook/ETH_USD/';

Как вариант...
var url = 'https://btc-alpha.com/api/v1/orderbook/ETH_USD/';
url=url.replace(/[^\/]+(?=\/$)/,'new_type');
alert(url);

ksa 11.12.2019 10:14

Цитата:

Сообщение от Ketlller
или эта
targetUrl_PZM_USD_Livecoin = 'https://api.livecoin.net/exchange/order_book?currencyPair=ETH/USD';

Как вариант...
var url = 'https://api.livecoin.net/exchange/order_book?currencyPair=ETH/USD';
url=url.replace(/=[^=]+/,'=new/type');
alert(url);

Ketlller 11.12.2019 10:35

Цитата:

Сообщение от ksa (Сообщение 517296)
Как вариант...
var url = 'https://api.livecoin.net/exchange/order_book?currencyPair=ETH/USD';
url=url.replace(/=[^=]+/,'=new/type');
alert(url);

Спасибо за ответ.

Можно еще пример для этой ссылки на будущее, тут нужно в средине замену сделать именно только BTC_ETH .

https://poloniex.com/public?command=...ET H&depth=10

Ketlller 11.12.2019 10:41

[B]html[/B]

<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"> </p>

[B]js[/B]

var new_type= $('#new_type');

targetUrl = 'https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
    targetUrl=targetUrl.replace(/[^\/]+(?=\/$)/,'new_type');




как передать со страницы new_type в ссылку чтоб заменить BTC_USD на new_type ?

где там ошибка допущена?(

ksa 11.12.2019 12:24

Цитата:

Сообщение от Ketlller (Сообщение 517299)
Спасибо за ответ.

Можно еще пример для этой ссылки на будущее, тут нужно в средине замену сделать именно только BTC_ETH .

https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_ETH&depth=10

Как вариант...
var url = 'https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_ETH&depth=10';
url=url.replace(/((\?|&)currencyPair=)[^&]+/,'$1new_type');
alert(url);

Это кагбэ универсальный вариант замены значения параметра currencyPair на что-то другое.


Часовой пояс GMT +3, время: 20:26.