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

spinastr 12.02.2018 06:02

Там пробел "rate " между буквой и ковычкой, получается где то в php скрипта записывается с пробелом? Это где именно?

laimas 12.02.2018 06:04

Цитата:

Сообщение от spinastr
Какая моя ошибка?

вот эта строка кода

'rate' => intval($usd_curr > $usd_prev)

в имени ключа у вас значит также содержит пробел

'rate ' => intval($usd_curr > $usd_prev)

В этом случае так оно и в json будет упаковано, а вы вместо того чтобы смотреть и проверять кипишь подымаете, да и все у вас хрень, и скрипты вам дают хреновые....

А вам приводя примеры дают нормальный json без ошибок. И уже скоро 300-сотый юбилей у этой темы будет, а воз и ныне там.

spinastr 12.02.2018 06:11

laimas,
Спасибо вам очень ценю помощь, сейчас подставлю.

НО, кто дал мне этот PHP?

Я его скопировал и вставил и если в этом была ошибка, ТО точно не моя!

laimas 12.02.2018 06:14

Цитата:

Сообщение от spinastr
НО, кто дал мне этот PHP?

РНР не дает кода, РНР интерпретирует скрипт, который он понимает.

Цитата:

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

file_put_contents('current.json',
        json_encode(
            array(
                'current' => array(
                'date' => date('j.n.Y'),
                'value' => $usd_curr,
                'rate' => intval($usd_curr > $usd_prev) 
            ),
                'previous' => array(
                'date' => date('j.n.Y', strtotime('-1 day')),
                'value' => $usd_prev,
                'rate' => intval($usd_prev > $last)
            )
        ))
    );


Есть тут пробелы в ключах?

spinastr 12.02.2018 06:21

laimas,

Нету извините я был не прав! Прошу прощения!



Но у меня на хосте тоже нет пробела в ключе, что за ошибка тогда?

laimas 12.02.2018 06:24

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
.ratebox > * {
    display: block;
}

.ratebox .up {
    color: #0f0;
} 

.ratebox .down {
    color: #f00;
}

.ratehead {
    background-color: #0164C6;
    color: #fff;
}
.ratehead .up, .ratehead .down {
    color: #fff;
}
</style>
 
<div class="ratehead">
<span class="current"></span>
</div>

<div class="ratebox">
 <span class="current"></span>
 <span class="previous"></span>
</div>
 
<script>
//именно такое и получит Ajax
var data = {"current":{"date":"11.2.2018","value":58.17,"rate ":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}};
 
//и вот тут данные этого объекта помещаются на свои места
    $(".current,.previous").each(function() {
        var a = $(this), b = this.className, c = a.parent().hasClass('ratebox'); 
        a.html((c ? '<b>'+data[b].date+'</b>' : '') + 
                    " <b>$ " + data[b].value + '</b> <b class=' + ['down','up'][data[b].rate] +'>' + ['▼','▲'][data[b].rate] +'</b>')
                    .attr("title", !c ? data[b].date : "")
    })
</script>


Знакома ситуация?
Причину знаем?
Вперед проверять все что реально у вас творится, я гадать не буду.

spinastr 12.02.2018 06:29

laimas,

Я понял про пробел!
https://pp.userapi.com/c824410/v8244...HrYGMYHDHg.jpg
Я его не ставил, json записывает php. Но в PHP ключе нету пробела. Что это значит?

Я на этом форуме не умею так запускать скрипты, что бы убрать пробел и попробовать так сделать!

spinastr 12.02.2018 06:34

Вот тут по крупнее, нету на хостинге пробела.

https://pp.userapi.com/c824410/v8244...gnup5sajYI.jpg

laimas 12.02.2018 06:37

Цитата:

Сообщение от spinastr
json записывает php

Да. Но если вы обнаружите, что функция json_encode() пакуя слово добавляет к нему пробел по собственной инициативе, можете смело подавать в суд на разработчиков РНР за моральный ущерб.

laimas 12.02.2018 06:39

зато тут есть http://h116641.s08.test-hf.su/, в json.

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


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