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)

ksa 11.12.2019 12:29

Цитата:

Сообщение от Ketlller (Сообщение 517300)
<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"> </p>

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 ?
где там ошибка допущена?(

Ошибка у тебя в полном не понимании программирования... :(
Для тебя нет разницы между строковой константой и именем переменной...
Так же нет понимания связи контента на странице со скриптом, который будет работать на той же странице. :cray:

Чтобы использовать значение поля, в котором, наверное, будет выполнен ввод данных, нужно знать в какой момент это значение нужно будет брать.
А из твоего примера это не понятно... :no:

ksa 11.12.2019 12:34

Предложу пока такой вариант... :write:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('#ok').click(function(){
		var val=$('#new_type').val();
		var url='https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
		url=url.replace(/[^\/]+(?=\/$)/,val);
		alert(url);
	});
});
</script>
</head>
<body>
<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"></p>
<button id='ok'>Ok</button>
</body>
</html>

Ketlller 11.12.2019 12:45

Цитата:

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

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



Благодарю. :thanks: :thanks:

Ketlller 11.12.2019 14:15

Цитата:

Сообщение от ksa (Сообщение 517312)
Предложу пока такой вариант... :write:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('#ok').click(function(){
		var val=$('#new_type').val();
		var url='https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
		url=url.replace(/[^\/]+(?=\/$)/,val);
		alert(url);
	});
});
</script>
</head>
<body>
<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"></p>
<button id='ok'>Ok</button>
</body>
</html>


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

О ВЕЛИКИЙ ГУРУ .... в окне алерта показыает изменение в ссылке, а в работе кода не рабоатет((.... что ж не так то там:help:

ksa 11.12.2019 15:05

Цитата:

Сообщение от Ketlller
что ж не так то там

У тебя там какая-то каша... :cray:

Вот есть у тебя поле... Там будет какое-то значение... Его можно записать руками... Вставить из буфера обмена... Отредактировать...

В какой момент его можно использовать?
Ты про это так и не написал. :(

Ketlller 11.12.2019 15:14

Цитата:

Сообщение от ksa (Сообщение 517323)
У тебя там какая-то каша... :cray:

Вот есть у тебя поле... Там будет какое-то значение... Его можно записать руками... Вставить из буфера обмена... Отредактировать...

В какой момент его можно использовать?
Ты про это так и не написал. :(

Пока это ETH/USD будет вручную вводится в поле .
Заходим на сайт, вводим нужную пару ETH/USD и тд , и кликаем на Получить курс. Нам отображает курс нужной выбраной пары)

Ketlller 11.12.2019 15:22

Вложений: 1
Цитата:

Сообщение от ksa (Сообщение 517323)
У тебя там какая-то каша... :cray:

Вот есть у тебя поле... Там будет какое-то значение... Его можно записать руками... Вставить из буфера обмена... Отредактировать...

В какой момент его можно использовать?
Ты про это так и не написал. :(

там всего лишь вашего кода 3 строки в js )) и 1 строка кнопка в html .... :agree:

ksa 11.12.2019 15:36

Цитата:

Сообщение от Ketlller
там всего лишь вашего кода 3 строки в js ))

Если в алгоритме переставить строки... Он запросто может перестать работать. ;)

ksa 11.12.2019 15:40

Цитата:

Сообщение от Ketlller
Заходим на сайт, вводим нужную пару ETH/USD и тд , и кликаем на Получить курс.

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('button').click(function(){
		var val=$('#new_type').val();
		var url='https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
		url=url.replace(/[^\/]+(?=\/$)/,val);
		alert(url);
	});
});
</script>
</head>
<body>
<button class='button'>Получить курс</button>
<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"></p>
</body>
</html>

Ketlller 12.12.2019 01:39

Цитата:

Сообщение от ksa (Сообщение 517331)
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('button').click(function(){
		var val=$('#new_type').val();
		var url='https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
		url=url.replace(/[^\/]+(?=\/$)/,val);
		alert(url);
	});
});
</script>
</head>
<body>
<button class='button'>Получить курс</button>
<p>Введите пару торгову : <input type="text" id="new_type" value="ETH_USD"></p>
</body>
</html>

В html скрипт работает ваш ). Но если вставить в js то не хочет(((.

Код HTML:

<p>Введите торгову пару: <input type="text" id="new_type" value="ETH_USD"></p>
 
 <button class='button'>Получить курс</button>

<div class="div"></span>
  <div class="sell"> buy BTC_USD: <span></span></div> 
 <div class="buy"> sell BTC_USD: <span></span></div> 
 
</div>


Код JS:

var btn = document.querySelector('button');
var div = document.querySelector('.div');
var divBuy = document.querySelector('.buy span');
var divSell = document.querySelector('.sell span');
 
var val=$('#new_type').val();

var url='https://btc-alpha.com/api/v1/orderbook/BTC_USD/';
		url=url.replace(/[^\/]+(?=\/$)/,val);
 
let proxyUrl='https://cors-anywhere.herokuapp.com/';
 
let resUrl = proxyUrl + url;
 
console.log()
 
  btn.addEventListener('click', () => {	
 
   fetch(resUrl)
   .then(res => {
      res.json().then(body => {
     
        divBuy.innerHTML = body.buy[0].price;
      divSell.innerHTML = body.sell[0].price;
     
        btcalpha = body.buy[0].price;
      
        
        console.log(body);
      });
  })
  .catch(err => console.log(err)); 
  
});





btn.addEventListener('click', () => { - по клику получаем курс.

Если у 9 строке, val заменить на 'XRP_USD' и удалить 6 строку, то курс обновится и покажет результат XRP_USD.
А при вводе в поле "Введите торгову пару:", не меняется ссылка( и не получаем результат курса.

Где ж все таки кроется ошибка?:help:

Код туточки: https://codepen.io/vitalij-kotlqr/pen/WNbxNVy


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