Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2017, 16:58
Интересующийся
Отправить личное сообщение для KATRIN1786492 Посмотреть профиль Найти все сообщения от KATRIN1786492
 
Регистрация: 20.11.2017
Сообщений: 29

Распарсить api
Добрый день! Помогите, пожалуйста, распарсить api(любое) с помощью этих функций, вот пример. Не понимаю....Можно любое api, помогите

Последний раз редактировалось KATRIN1786492, 08.12.2017 в 19:51.
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2017, 17:30
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

KATRIN1786492
а в чем проблема?

<div id="data"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function () {
          var renderData = function(){
            $.getJSON("https://api.icndb.com/jokes/random/10", function(data){
                console.log(data) // просто выводим в консоль полученный Json
            });
    }
    renderData();

    var my_getJSON = function(url) {
        return new Promise(function(resolve, reject) {
            var xhr = new XMLHttpRequest();
            xhr.open('get', url, true);
            xhr.responseType = 'json'; 
            xhr.onload = function() {
                var status = xhr.status;
                if (status == 200) {
                    resolve(xhr.response);
                } else {
                    reject(status);
                }
            };
            xhr.send();
        });
    };
var i=0;

    my_getJSON('https://api.icndb.com/jokes/random/10').then(
        function(data) { var end=data.value.length;var datum=document.getElementById("data");
                        for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data.value[i].joke;}; }, // resolve
        function(status) {alert('Something went wrong.');}      // reject
    );
})
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2017, 17:47
Интересующийся
Отправить личное сообщение для KATRIN1786492 Посмотреть профиль Найти все сообщения от KATRIN1786492
 
Регистрация: 20.11.2017
Сообщений: 29

оно все работает, Все хорошо, но это пример, мне нужно распарсить какой-то свое api, использую эти функции, а я не понимаю как(
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2017, 18:02
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

KATRIN1786492,
Сообщение от KATRIN1786492
мне нужно распарсить какой-то свое api,
А оно у вас есть?
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2017, 18:12
Интересующийся
Отправить личное сообщение для KATRIN1786492 Посмотреть профиль Найти все сообщения от KATRIN1786492
 
Регистрация: 20.11.2017
Сообщений: 29

я пробовала парсить это, но у меня не получилось ( https://api.opendota.com/api/proMatches
Ответить с цитированием
  #6 (permalink)  
Старый 05.12.2017, 18:15
Интересующийся
Отправить личное сообщение для KATRIN1786492 Посмотреть профиль Найти все сообщения от KATRIN1786492
 
Регистрация: 20.11.2017
Сообщений: 29

вот так я пробовала

$(document).ready(function () {
          var renderData = function(){
            $.getJSON("https://api.opendota.com/api/proMatches", function(data){
                console.log(data) // просто выводим в консоль полученный Json
            });
    }
    renderData();

    var my_getJSON = function(url) {
        return new Promise(function(resolve, reject) {
            var xhr = new XMLHttpRequest();
            xhr.open('get', url, true);
            xhr.responseType = 'json'; 
            xhr.onload = function() {
                var status = xhr.status;
                if (status == 200) {
                    resolve(xhr.response);
                } else {
                    reject(status);
                }
            };
            xhr.send();
        });
    };
var i=0;

    my_getJSON('https://api.opendota.com/api/proMatches').then(
        function(data) { var end=data.value.length;var datum=document.getElementById("data");
                        for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data.value[i];}; }, // resolve
        function(status) {alert('Something went wrong.');}      // reject
    );
})
Ответить с цитированием
  #7 (permalink)  
Старый 06.12.2017, 12:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<div id="data"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function () {
          var renderData = function(){
            $.getJSON("https://api.opendota.com/api/proMatches", function(data){
                console.log(data) // просто выводим в консоль полученный Json
            });
    }
    renderData();

    var my_getJSON = function(url) {
        return new Promise(function(resolve, reject) {
            var xhr = new XMLHttpRequest();
            xhr.open('get', url, true);
            xhr.responseType = 'json'; 
            xhr.onload = function() {
                var status = xhr.status;
                if (status == 200) {
                    resolve(xhr.response);
                } else {
                    reject(status);
                }
            };
            xhr.send();
        });
    };
var i=0;

    my_getJSON('https://api.opendota.com/api/proMatches').then(
        function(data) { var end=data.length;var datum=document.getElementById("data");
                        for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data[i].league_name;}; }, // resolve
        function(status) {alert('Something went wrong.');}      // reject
    );
})
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2017, 09:17
Интересующийся
Отправить личное сообщение для KATRIN1786492 Посмотреть профиль Найти все сообщения от KATRIN1786492
 
Регистрация: 20.11.2017
Сообщений: 29

вы получается кусочек парсите, а подскажите, пожалуйста, как все эти пункты распарсить и чтобы они в одном списке были?
Ответить с цитированием
  #9 (permalink)  
Старый 07.12.2017, 11:26
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

KATRIN1786492,
Объекты
Ответить с цитированием
  #10 (permalink)  
Старый 07.12.2017, 19:17
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Проще будет использовать что-то типа такого:
<html>
	<head>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
	</head>
	<body>
		<div id="result"></div>
		
		<script>
		// Получаем массив
		$(document).ready(function(){
			$.getJSON('https://api.opendota.com/api/proMatches', my_getJSON); // вызываем callback-функцию
		});

		// парсим массив data 
		function my_getJSON(data)
		{
			"use strict";
			// сюда будем пихать результат
			let str = '';
			
			for (let a = 0; a < data.length; a++)
			{
				str += data[a].radiant_name + ' VS ' + data[a].dire_name + '<br>';
			}
			
			// выводим результат
			$("#result").html(str);
		}
		</script>
	</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API Google Maps vs API Context 2d (элемент canvas) ste4kin Ваши сайты и скрипты 3 24.07.2014 17:06
Проверка статуса авторизации через open api на сайте (vk.com api) mecer Общие вопросы Javascript 4 06.05.2014 08:31
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
HTML5 Geolocation API, вопрос о снятии данных User-Agent (X)HTML/CSS 2 22.02.2013 20:09
MVC vs API. Ваше мнение. B~Vladi Общие вопросы Javascript 58 19.10.2010 16:29