[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как вставить данные из РНР в JS?
Страницы: 1, 2
Zuenf
Цитата (chee @ 27.01.2015 - 23:09)
Цитата (Invis1ble @ 27.01.2015 - 21:00)
с чего это лишний запрос на сервер лучше?

дело не в запросах, дело в разделении обязоностей в коде


И правда зачем лишний запрос? Разделять тут нечего.
Передавать JSON в js можно как хочешь.
Например вот так:


$varsToJS = array();

function addVarToJS($name, $var){
global $varsToJS;
$jsVarsp[$name] = $var;
}

function includeJsVars(){
global $varsToJS;
echo 'var varsFromPHP = '.json_encode($varsToJS).';';
}
Игорь_Vasinsky
ну эт у меня поход загон такой. если я должен распарсить что-то в JS - то до конца делать это в JS

и да - тут он и не нужен.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
Цитата
дело не в запросах

теперь понятно, откуда на простеньких по функционалу сайтах набирается под 200 запросов на одну страницу smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

volter9
Игорь_Vasinsky
Лол, я скопировал часть твоего кода, у себя сам и спрашивай. А массивы не надо парсить?

JSON.parse может оказатся полезным если там будет юникод закодированные "кракозябры" в виде \u100.

_____________
Мой блог
Игорь_Vasinsky
Цитата
Лол, я

не спорю. тока согласно пунктуации - запятая лишняя тут.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
volter9
Игорь_Vasinsky
Спасибо за поправку rolleyes.gif
А это точно верно что "," не нужна там? unsure.gif

_____________
Мой блог
Игорь_Vasinsky
Ну вот так несколько раз прочитай про себя или вслух.
Цитата
Лол  я


если зпт там ставить - то смысл теряется.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
chee
Invis1ble, теперь я понимаю откуда куча inline js кода сгенерированого php'шкой в сложных сайтах. smile.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Invis1ble
Цитата (chee @ 28.01.2015 - 08:51)
Invis1ble, теперь я понимаю откуда куча inline js кода сгенерированого php'шкой в сложных сайтах. :)

Какая еще куча кода? Такая
var data = [...];

?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

chee
Invis1ble, какая сегодня хорошая погода, птички поют! О чем вы там?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Invis1ble
Цитата (chee @ 28.01.2015 - 11:49)
Invis1ble, какая сегодня хорошая погода, птички поют! О чем вы там?

Не знаю о каких птичках и погоде речь, но я веду дискуссию на тему передачи данных на клиентскую сторону.
Вот ты предложил нормальный стандартный способ с помощью inline-json, сам таким пользуюсь, а далее написал про аякс.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

chee
На счет inline-js

// jquery.noty
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/noty/jquery.noty.js') . '"></script>';
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/noty/themes/default.js') . '"></script>';
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/noty/layouts/bottomRight.js') . '"></script>';
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/sugar_notifications.js') . '"></script>';
echo
'<script type="text/javascript">'.
'sugarNotifierInit({'.
'notyLayout: "bottomRight",'.
'initSugarTimestamp: '.time().','.
'notifications: '.getJSONobj()->encode(SugarNotification::getUnseenNotifications(Registry::get('current_user')->id, -5 * 60, 10 * 60)).
'});'.
'</script>';
// autosize textarea
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/autosize/jquery.autosize-min.js') . '"></script>';
// enable jquery.ui
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/ui/jquery-ui-current.js') . '"></script>';
echo '<link rel="stylesheet" type="text/css" media="all" href="' . getJSPath('include/javascript/jquery/ui/themes/sugar/jquery-ui-current.css') . '">';
// enable jquery modules
echo '<script type="text/javascript" src="' . getJSPath('include/javascript/jquery/jquery.maskedinput.js') . '"></script>';
// enable LightAjax
echo '<script type="text/javascript" src="' . getJSPath('include/Ajax/Ajax.js') . '"></script>';
// enable CallEvents
require_once('modules/PhoneCalls/PhoneCall.php');
echo '<script type="text/javascript" src="' . getJSPath('modules/PhoneCalls/js/PhoneCalls.js') . '"></script>';
if (SugarConfig::get('disable_phone_calls_listener') !== true && PhoneCall::listenPhoneCalls())
{
$call_listener_settings = PhoneCall::getListenPhoneCallsSettings();
$call_listener_settings = getJSONobj()->encode($call_listener_settings);
echo
'<script type="text/javascript">'.
'if (typeof(window.PhoneCallsListener) != "undefined") {'.
'window.PhoneCallsListener.setSettings('.$call_listener_settings.');'.
'window.PhoneCallsListener.listen();'.
'}'.
'</script>';
}

if ($this->_getOption('view_print'))
{
// hide menu
echo '<script>$(function() {
if ( document.getElementById("leftCol").style.display != "none" ) {
hideLeftCol("leftCol", false);
closeMenus();
}
});
</script>'
;
}


Айс, да?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.