Лента Мой малыш
Городские форумы
Автофорумы
Халявный
Домоводство
Проф. и бизнес форумы
Строительные форумы
Технофорумы
Собачий форум
Велофорумы Нижнего Новгорода
Наши дети
Туризм, отдых, экстрим Творческий
Путешествия Спортивные форумы
Нижегородская область Недвижимость
Форумы по интересам
Частные форумы Форумы домов Жилые районы
Отзывы и предложения (техподдержка)
Реклама на NN.RU
+7 (831) 261-37-60
Техподдержка Полная версия

Есть специалисты по php? нужна помощь.

Решил я получать данные через javascript напрямую с сервера.
Поднял на левом порту (допустим 8080) сервер nodejs, который по запросу на определённый урл отдаёт данные в json. Проверил: в браузере открывается, всё работает.

Пишу html-страницу, вставляю код клиента - не выходит каменный цветок. Статус = 0.
Гуглю. Этот статус возникает, когда идёт ?междоменный запрос? - то есть запрос к другому домену.
Выясняю, что в понятие ?домена? у браузера входит протокол (http и https - разные протоколы) и порт... Упс...

Ладно, думаю, отдам данные через php-страничку. Пишу echo json_encode($data); - открывается в браузере, но как-то не так, без кодировки (utf-8).

Пытаюсь передать данные в тестовую страничку - не взлетает. Мучаюсь, мучаюсь...
Затем решаю попробовать. В nginx прописываю на этот урл редирект на левый порт через proxy_pass - всё взлетает, данные получены.

И всё бы хорошо, но есть мнение, что реальный сайт будет крутиться на https и поднимать на хостинге nodejs не самая хорошая идея.

В общем вопрос: как правильно передать данные в json с помощью php?
Заранее спасибо.

P.S. Есть мнение, что php-страница некорректно передаёт заголовки. Точнее, она их вообще не передаёт.
0
Ответить
Спасибо, разобрался. Дело было в пробелах после запятых

Массив [0, "текст1", 1 и так далее не воспринимался.
А nodejs отдавал его в правильном формате.

Финт ушами.
1. Прямо из браузера из данных nodejs берём массив и напрямую вставляем его в php

Вуаля!
$data='[0,"текст1",1...]';
echo $data;
// именно так, без всяких json_encode

И всё, клиент данные получает и выводит!
0
Ответить
Помогли на Техно.
json_encode работает. если переменная php является не строкой, а массивом.
Массив в php ---> массив в js

Там подсказали, что json как раз и переводит данные в строку для передачи js-скрипту.
0
Ответить
а вы уважаемый что то путное пишите? или просто так, в нерабочем проекте экспериментируете?
ЗЫ это я просто так для поддержания разговора)))
0
Ответить
Скажем так - учусь писать путное. Благо, давать задания сам себе уже умею.

Экспериментирую. Хочу получить на выходе что-то путное.
0
Ответить
сам с собой поговорил, сам себе помог)))
0
Ответить
а что и не поговорить с хорошим человеком ;-) :-D ...
0
Ответить