Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2012, 06:16
Интересующийся
Отправить личное сообщение для Партизан Посмотреть профиль Найти все сообщения от Партизан
 
Регистрация: 15.04.2012
Сообщений: 14

Код из переменной
Добрый день.

У меня такой вопрос. У меня есть переменная, в ней содержится код.
Пример:
var $code "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a);"


Как мне её потом использовать в программе?
Пример:
if ($a == '0')
{
$code
}
Дело в том что эту переменную я получаю по средствам Ajax из PHP кода.
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2012, 06:20
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

eval( "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a);" );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2012, 03:41
Интересующийся
Отправить личное сообщение для Партизан Посмотреть профиль Найти все сообщения от Партизан
 
Регистрация: 15.04.2012
Сообщений: 14

Спасибо, Вы меня выручили
Спасибо, Вы меня выручили. Но у меня возникла ещё одна проблема.

Я хотел передать РНР файлу объект, не где-то что-то не упустил. (Надеюсь я могу задать второй вопрос в этой теме)
Пример JavaScript :
var ob = {};			
	ob['a'] = "aaa"
	ob['b'] = "bbb"
			  $.ajax({
			  type: "POST",
			  data: 
			  {
				klass: "node", fun: "insert_data",
				jsonData: +$.toJSON(ob)
			  
			  },
			  url: "class.php",
			  dataType: "json",
			  	  success: function(data)
						  {
							
						  }
				});

Пример PHP:
$data = json_decode($_POST["jsonData"]);	
				$result = mysql_query ("INSERT INTO data (data) VALUES ('$data')");
				echo json_encode("true");


Но в базу записывается пустое значение.
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2012, 04:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а что вы хотели то? вы пытаетесь вместо строки засунуть в базу объект. json_decode возвращает объект и вы его зачем-то пытаетесь сунуть в базу.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 16.04.2012, 14:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Партизан
jsonData: +$.toJSON(ob)
А зачем вы тут + поставили?
Ответить с цитированием
  #6 (permalink)  
Старый 20.04.2012, 01:24
Интересующийся
Отправить личное сообщение для Партизан Посмотреть профиль Найти все сообщения от Партизан
 
Регистрация: 15.04.2012
Сообщений: 14

Спасибо за советы
Я и правда сглупил с объектом.
Правильный код:
$data = (array) json_decode(stripslashes($_POST["jsonData"]));


Дальше уже с ним можно спокойно работать как с обычным массивом, хотя это работает только с одномерными. Для многомерных надо отдельно функцию писать

Кстати Kolyaj вы правы, + это опечатка.
Ответить с цитированием
  #7 (permalink)  
Старый 20.04.2012, 01:27
Аватар для razerxxx
Аспирант
Отправить личное сообщение для razerxxx Посмотреть профиль Найти все сообщения от razerxxx
 
Регистрация: 05.10.2011
Сообщений: 85

var $code "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a); " - вообще так делать не стоит. Cервер мог бы просто отдать данные, а вычислить их уже на клиенте.
Ответить с цитированием
  #8 (permalink)  
Старый 20.04.2012, 06:01
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Партизан
$data = (array) json_decode(stripslashes($_POST["jsonData"]));
Это не правильный код, это кака.
Сообщение от Партизан
Дальше уже с ним можно спокойно работать как с обычным массивом, хотя это работает только с одномерными. Для многомерных надо отдельно функцию писать
вообще-то у функции json_decode, есть аж четыре входных параметра, второй из них можно установить в true и получить на выходе массив а не объект. Вы хоть иногда документацию то читаете?
$data = json_decode( stripslashes( $_POST["jsonData"] ), true );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 30.04.2012, 23:23
Интересующийся
Отправить личное сообщение для Партизан Посмотреть профиль Найти все сообщения от Партизан
 
Регистрация: 15.04.2012
Сообщений: 14

Спасибо за ответы
razerxxx - этот код просто для примера. Конечно лучи передавать данные сразу скрипту, но не всегда это лучи.
Иногда легче, генерировать код одной функцией на PHP чем 10-ю функциями на явескрепте.


Уважаемы devote - возможно я ошибаюсь но, по моему параметр true, создавал многомерный массив, но не массив массивов, а массив - объектов.
Ответить с цитированием
  #10 (permalink)  
Старый 01.05.2012, 00:18
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Партизан
но, по моему параметр true, создавал многомерный массив, но не массив массивов, а массив - объектов.
а может проще не писать подобные тексты а пойти на официальный сайт и немного почитать? http://docs.php.net/manual/ru/function.json-decode.php и все сразу станет ясно, массив объектов или простой ассоциативный массив.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить код js-скрипта, находящегося в файле на сервере RomanA Общие вопросы Javascript 4 04.04.2012 09:53
код нe работает в фаирфохе dadli Javascript под браузер 2 28.01.2012 21:18
Как работать с переменной в которой содержится html-код leny Элементы интерфейса 1 18.12.2011 20:42
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25