Вход

Просмотр полной версии : Не получается JSON получить


redshuhard
09.03.2016, 15:34
Здравствуйте.
У меня не большой опыт работы с JS/AJAX/JSON.

Есть такая проблема, у меня есть 2 файла (script.js и index.php).
В индекс подключается файл скрипт. Результатом выполнения скрипт является JSON ответ.

Задача у меня для Вас скорее всего будет проста, но я не могу ее решить: Как получить в индекс результат выполнения скрипт ?

P.S.: фаербаг JSON показывает.

destus
09.03.2016, 15:54
redshuhard,
без кода этого самого скрипта ваш вопрос будет висеть в воздухе.
Результатом выполнения скрипт является JSON ответ.
Без вашего участия никакие ответы приходить не будут. Если был запрос, значит где-то должна быть callback функция ответа.

redshuhard
09.03.2016, 16:04
вот что лежит в script.js

<script>
$(document).ready(function(){
Trello.authorize({
type: 'popup',
name: 'Getting Started Application',
scope: {
read: true,
write: true },
expiration: 'never',
success: 'authenticationSuccess',
error: 'authenticationFailure'
});

var authenticationSuccess = function() { console.log('Successful authentication'); };
var authenticationFailure = function() { console.log('Failed authentication'); };

var success = function(successMsg) {
asyncOutput(successMsg);
};

var error = function(errorMsg) {
asyncOutput(errorMsg);
};

Trello.get('/boards/555c8e81e8d5aff570505f5b/cards', 'success', 'error');

});
</script>

вот как это подключается в index.php

<html >
<head>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="https://api.trello.com/1/client.js?key=[тут живет мой секретный ключик]"></script>
<script src="js/script.js"></script>
</head>
<body>
...
</body>
</html>

вот ответ из FireBug

[{"id":"555c8e8438613a1b6f665efc","name":"First List","closed":false,"idBoard":"555c8e81e8d5aff570505f5b","pos":10239.90625,"subscribed":false},{"id":"55cce7e390e2b8ad5bc65a3c","name":"Second List","closed":false,"idBoard":"555c8e81e8d5aff570505f5b","pos":65535.25,"subscribed":false}]


Вот этот ответ мне и нужно передать в PHP !

destus
09.03.2016, 16:06
redshuhard,
JSON.parse https://learn.javascript.ru/json

redshuhard
09.03.2016, 16:29
Возможно я что то не так говорю или не понимаю но!

Разобрать обычный JSON объект я могу в PHP. А тут что то другое, наверное мне просто слов не хватает объяснить что я хочу.

Результатом выполнения файла script.js является возвращение JSON и вот как мне этот результат передать или получить в PHP. Если бы я смог его получить то с разбором вопроса не стоит!

destus
09.03.2016, 16:41
redshuhard,
А зачем вам его в PHP получать?

var some = '[{"id":"555c8e8438613a1b6f665efc","name":"First List","closed":false,"idBoard":"555c8e81e8d5aff570 505f5b","pos":10239.90625,"subscribed":false},{"id ":"55cce7e390e2b8ad5bc65a3c","name":"Second List","closed":false,"idBoard":"555c8e81e8d5aff570 505f5b","pos":65535.25,"subscribed":false}]';
alert(JSON.parse(some)[0].name);


Вместо some ваша переменная.

redshuhard
09.03.2016, 17:09
При выполнении файла я получаю данные, из этих данных я получаю некое значение и делаю следующий запрос, опять получаю некие данные, в зависимости от результата я буду делать следующий запрос. При достижении какого либо эффекта мне нужно будет отправлять email и еще мне нужно будет работать с русским языком, а в JS это может несовсем корректно происходить.

фактически это парсер карточек с заданиями в трелло.

и опять же, вот вы просто взяли ту строку с JSON что я прислал, я то ее выдрал из фаербага. А мне ее нужно в переменную получать, и это у меня не получается !!!!

laimas
09.03.2016, 17:45
мне нужно будет работать с русским языком, а в JS это может несовсем корректно происходить.

С чего это вдруг?

Вот этот ответ мне и нужно передать в PHP !

И в чем проблема, в технологии или ...?

redshuhard
10.03.2016, 09:19
Проблема в моей руко..опости и элементарном незнании )

laimas
10.03.2016, 11:21
Метод Trello.authorize исполняется асинхронно, поэтому
var authenticationSuccess = function() { здесь отправляйте полученное на сервер, также асинхронно методом $.ajax() (jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81) };

Но если отправка на сервер потому, что мне нужно будет работать с русским языком, а в JS это может несовсем корректно происходить, то это глупости. Единственное что нужно соблюдать при работе с русским текстом, это обязательная кодировка UTF, так как json_encode() работает только с этой кодировкой. В противном случае русский текст в JSON будет отсутствовать. Хотя можно конвертировать CP1251 в UTF перед передачей в JSON.