Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод курса валют (https://javascript.ru/forum/misc/72548-vyvod-kursa-valyut.html)

Nexus 22.02.2018 17:03

А обязательно выводить данные после запроса с клиента?
Почему не вывести данные сразу сервером?

Может и было написано ранее, но 400+ сообщений я не осилю.

laimas 22.02.2018 17:03

spinastr,
не испытывайте моего терпения, я могу и заматериться. Мне что тыкать вас носом по каждому поводу?

Код JS изменен тоже, обращение к элементам также, и по классам. Кто это будет читать и делать?

Я не гадалка, по картинкам не навожу/снимаю порчу, и что там у вас не работает не видя тоже сказать не могу. Я только уверен, что ваш test.html это хрен знает что старое.

spinastr 22.02.2018 17:06

Nexus,
сайт ан юкозе и я неподключал PHP, он там дорогой, сделал PHP настороннем хостинге.

spinastr 22.02.2018 17:07

Цитата:

Сообщение от laimas
не испытывайте моего терпения, я могу и заматериться.

Не нужно,

вот вы написали код я его скопировал и вставил в тест

<table>
    <tr>
        <td><span class="previous date"></span></td>
        <td><span class="current date"></span></td>
    </tr>
    <tr>
        <td><span class="previous USD"></span></td>
        <td><span class="current USD"></span></td>
    </tr>
    <tr>
        <td><span class="previous EUR"></span></td>
        <td><span class="current EUR"></span></td>
    </tr>
</table>

<script>
//именно такое и получит Ajax
$.getJSON("http://h116641.s08.test-hf.su/", function(data) {
    $.each(data, function(k, o) {
        $.each(o, function(a, r) {
            $('.'+k+'.'+a).html(
                a=='date' ? r : {'USD':'$','EUR':'€'}[a] + ' ' + r.value.toFixed(2) + ' <b class=' + ['','down','up'][r.rate] +'>' + ['','▼','▲'][r.rate] +'</b>'
            )
        })
    }) 
});
</script>

laimas 22.02.2018 17:09

Цитата:

Сообщение от spinastr
вот вы написали код я его скопировал и вставил в тест

Все верно, и что дальше?

spinastr 22.02.2018 17:12

laimas,

тут пусто

laimas 22.02.2018 17:18

Последний раз показываю. Тут и вывод подсказок о дате, а как оно работает, это сами вникайте, пора бы начинать изучать то, чем занимаетесь, а не просто слепо копировать, да еще с ошибками. И вообще как все это работает понять.

Естественно, тут нет реального запроса сервера (две строки кода закомментированы), выводится объект data, который и сервер возвращает.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<style>
.up {color: #0f0;}
.down {color: #f00;}
</style> 
 
<table>
    <tr>
        <td><span class="previous date"></span></td>
        <td><span class="current date"></span></td>
    </tr>
    <tr>
        <td><span class="previous USD title"></span></td>
        <td><span class="current USD title"></span></td>
    </tr>
    <tr>
        <td><span class="previous EUR"></span></td>
        <td><span class="current EUR"></span></td>
    </tr>
</table>

<p style="font-size: 2em;" class="previous USD title"></p>

<p style="font-size: 1.5em;" class="current EUR"></p>

<p style="font-size: 2em;" class="current USD title"></p>
 
<script>
var data = {
    "current": {
        "date": "23.2.2018",
        "USD": {
            "value": 56.7608,
            "rate": 2
        },
        "EUR": {
            "value": 69.6341,
            "rate": 1
        }
    },
    "previous": {
        "date": "22.2.2018",
        "USD": {
            "value": 56.6537,
            "rate": 2
        },
        "EUR": {
            "value": 69.8087,
            "rate": 1
        }
    }
};

//$.getJSON("http://h116641.s08.test-hf.su/", function(data) {
    $.each(data, function(k, o) {
        $.each(o, function(a, r) {
            $('.'+k+'.'+a).html(
                a=='date' ? r : {'USD':'$','EUR':'€'}[a] + ' ' + r.value.toFixed(2) + ' <b class=' + ['','down','up'][r.rate] +'>' + ['','▼','▲'][r.rate] +'</b>'
            ).attr('title', function() {
                return $(this).hasClass('title') ? data[k].date : ''
            })
        })
    })
//});
</script>

Nexus 22.02.2018 17:23

laimas, у вас в коде данные отличаются от данных, которые возвращает сервер тс.
Не сами данные имею ввиду, разумеется, а структуру.

spinastr 22.02.2018 17:24

laimas,

СПАСИБО!

Такое уже было, если удалить это:

var data = {
    "current": {
        "date": "23.2.2018",
        "USD": {
            "value": 56.7608,
            "rate": 2
        },
        "EUR": {
            "value": 69.6341,
            "rate": 1
        }
    },
    "previous": {
        "date": "22.2.2018",
        "USD": {
            "value": 56.6537,
            "rate": 2
        },
        "EUR": {
            "value": 69.8087,
            "rate": 1
        }
    }
};


То пусто, снова загадки, просто трудно сказать что написать?

Я этим не занимаюсь, и не помню что днелать подскажите?

laimas 22.02.2018 17:25

Цитата:

Сообщение от Nexus
у вас в коде данные отличаются от данных, которые возвращает сервер тс

Ему сказано было о новой структуре json файла. Это ему разбираться со своими ошибками, а не мне, у меня уже язык устал.


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