Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2017, 14:14   #1
marvall
Новичок
Джуниор
 
Регистрация: 02.11.2017
Сообщений: 3
По умолчанию Обращение к php из JS

Заранее прошу прошения за размещение темы если я ошибся разделом!

Добрый день как бы можно было довести данную конструкцию до рабочего состояния? Логика какая есть некий php скрипт, в нем есть переменная. Нужно правильно обратиться к данному скрипту из JS и забрать значение.

Данный пример, содержание некого файла index.php.

Благодарю!

Код:
<?php
	$result = -3000;
?>


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Page</title>
</head>
<style type="text/css">
	#slon{
		color: red;
	}

	#message{
		width: 300px;
		border: 10px;
	}
	.msg-good{
		border-color: green;
		color: green;
	}
	.msg-warning{
		border-color: blue;
		color: blue;
	}
	.msg-danger{
		border-color: red;
		color: red;
	}
	.msg-default{
		border-color: gray;
		color: gray;
	}
	
</style>
<body>
 
  <span id="message" ></span>
  <span id="para2" ></span>
  <span id="para3" ></span>
 
</body>
<script>
    function changeColor() {
    	var status = 'default';
    	//var test1 = <?php echo $result; ?>;  // в тестовых целях
    	//var test = Number(test1);  // в тестовых целях
    	var test = <?php echo $result; ?>;/*если в данную строку вставить значение, все работает*/
    	/*

    	 определяет значение балланса и присваевает статусу определенный флаг(изменение цвета по флагу в СSS)

    	 */
    	if ((test > -1700) && (test < 0)) {
    		status = 'good';
    	}
    	else if ((test > -2900) && (test < -1700)) {
    		status = 'warning';
    	}
    	else if ((test > -3500) && (test < -2900)) {
    		status = 'danger';
    	}
    	else if (( test == 0 )){
    		status = 'default';
    	}
    	/*

		отправляет в span id="message" значение баланса и флаг!
 
    	*/
		var dived = document.getElementById("message");
    	dived.className = "msg-" + status;
    	var balance = document.createTextNode(test);
    	dived.appendChild(balance);

	/* набор функций ниже значения не имеет, добавленны в тестовых целях*/	   
    }
    setTimeout(changeColor(),100);
    function changeColor2() {
    	var test = '<div id="slon">1000</div>';    		
		document.getElementById("para2").innerHTML = test;   
    }
    setTimeout(changeColor2(),100);
    function changeColor1() {
    	var test = Date.now();    		
		document.getElementById("para3").innerHTML = test;   
    }
    setInterval(changeColor1(),100);

  </script>
</html>
marvall вне форума Ответить с цитированием
Старый 02.11.2017, 14:20   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ознакомьтесь для начала с основными принципами работы веба. Что когда выполняется и т.п.

Что значит "в нем есть переменная"? Они в разное время живут.

Если вы хотите обратиться к серверу из JS на клиенте, то используйте Ajax.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.11.2017, 15:49   #3
marvall
Новичок
Джуниор
 
Регистрация: 02.11.2017
Сообщений: 3
По умолчанию

Понял, прощу прощения я не особо разбираюсь, вот собственно и хочу для себя понять. Я рассматривал конструкцию ajax. не совсем понял как это реализовать. У меня на сервере есть файлик.php , как правильно через ajax к нему обратится?

некий файлик.php
Код:
<?php
	$result = -3000;
?>
в другом файле внутри данного каталога есть данный скрипт
Код:
function changeColor(){
	$.ajax({
		type: 'Get'
		url: 'файлик.php'
		success: function(data){
		/* и вот собственно не понял как обратитя к данной переменной внутри этого блока*/
	}
});
}
И нужно ли инклудить файлик.php если они в одном каталоге?
marvall вне форума Ответить с цитированием
Старый 02.11.2017, 15:54   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от marvall Посмотреть сообщение
Понял, прощу прощения я не особо разбираюсь,
не обижайтесь, но сходите прочитать основы основ, что где запускается и как оно вообще работает:
http://phpfaq.ru/newbie/na_tanke

потом, если вопросы не пропадут, продолжим разговор.


p.s.
Цитата:
Сообщение от marvall Посмотреть сообщение
Код:
function changeColor(){
	$.ajax({
Это действительно AJAX и то, что Вам нужно.
Только это будет работать с подключённой библиотекой jQuery. У Вас она подключена/используется?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.11.2017, 15:55   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Изучайте как работает протокол HTTP.
Нету никаких переменных, есть только ответ сервера.

DevTools может помочь понять.
https://learn.javascript.ru/devtools
https://learn.javascript.ru/debugging-chrome
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.11.2017, 15:58   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
/* и вот собственно не понял как обратитя к данной переменной внутри этого блока*/
При такой записи - никак. Если бы вы прочитали про веб, то поняли, что php скрипт на сервере со своими переменными, а JS у клиента. Если хотите увидеть эту переменную, то php должен прислать ее на клиент в каком-то виде.

Цитата:
И нужно ли инклудить файлик.php если они в одном каталоге?
Куда инклудить? В JS? Все-таки идите читать.
p51x вне форума Ответить с цитированием
Старый 02.11.2017, 16:45   #7
marvall
Новичок
Джуниор
 
Регистрация: 02.11.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Это действительно AJAX и то, что Вам нужно.
Только это будет работать с подключённой библиотекой jQuery. У Вас она подключена/используется?
Да библиотека подключена, в файле уже имеются готовые ajax конструкции (другие). с обращением к другим файл.php (к сожаление целиком все показать, права не имею, собиралось это задолго до меня, мне стал вопрос разобраться как это работает и добавить эелемент. Экспериментирую уже который день).

Перекопал не один пример ajax? но так и не понял как вытянуть содержание переменой через ajax. Вопрос в правильно синтаксисе. ну то есть мне нужно понимать что:
Цитата:
function changeColor(){
$.ajax({
type: 'Get'
url: 'файлик.php'
success: function(data){
var che_to_tam = <?php echo $result; ?>
}
});
}
Заведомо работает и с синтаксисом я не натупил, чтобы искать проблему дальше...
marvall вне форума Ответить с цитированием
Старый 02.11.2017, 16:47   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не копайте ajax пока, копайте HTTP протокол, DevTools и ссылки выше для начала.

ajax это обычный HTTP запрос. Разберитесь что и где происходит при просто запросе страницы, и не будет сложностей и с этим.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.11.2017 в 16:51.
Alex11223 вне форума Ответить с цитированием
Старый 02.11.2017, 17:25   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>

<body>
<button>Жмакни на меня</button>

<script>
$("button").click(function(){
	$.ajax({
		type: 'Get',
		url: 'failik.php',
		success: function(data){
			var che_to_tam = data;
			alert("che_to_tam =  " + che_to_tam);
		}
	});
});
</script>

</body>
</html>
в failik.php
PHP код:
<?php
  $result
="256"// тут пишете то, что надо. можно, например, так:   $result=256+12;

  
echo $result;
?>
Вопросы?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение как к функции или обращение после опрд действия Gefo JavaScript, Ajax 5 04.02.2013 08:55
многократное обращение к php обработчику alimov7 Помощь студентам 0 11.11.2012 23:49
Обращение к выбраному элементу из ComboBox в php whatever PHP 2 06.06.2012 21:50
Обращение Slavatron1984 Microsoft Office Excel 21 13.01.2012 10:07