Код из переменной
Добрый день.
У меня такой вопрос. У меня есть переменная, в ней содержится код. Пример: var $code "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a);" Как мне её потом использовать в программе? Пример: if ($a == '0') { $code } Дело в том что эту переменную я получаю по средствам Ajax из PHP кода. |
eval( "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a);" ); |
Спасибо, Вы меня выручили
Спасибо, Вы меня выручили. Но у меня возникла ещё одна проблема.
Я хотел передать РНР файлу объект, не где-то что-то не упустил. (Надеюсь я могу задать второй вопрос в этой теме) Пример 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"); Но в базу записывается пустое значение. |
а что вы хотели то? вы пытаетесь вместо строки засунуть в базу объект. json_decode возвращает объект и вы его зачем-то пытаетесь сунуть в базу.
|
Цитата:
|
Спасибо за советы
Я и правда сглупил с объектом.
Правильный код: $data = (array) json_decode(stripslashes($_POST["jsonData"])); Дальше уже с ним можно спокойно работать как с обычным массивом, хотя это работает только с одномерными. Для многомерных надо отдельно функцию писать :) Кстати Kolyaj вы правы, + это опечатка. |
var $code "var $a = Math.floor(Math.random()*100+1);$('#inp').val($a); " - вообще так делать не стоит. Cервер мог бы просто отдать данные, а вычислить их уже на клиенте.
|
Цитата:
Цитата:
$data = json_decode( stripslashes( $_POST["jsonData"] ), true ); |
Спасибо за ответы
razerxxx - этот код просто для примера. Конечно лучи передавать данные сразу скрипту, но не всегда это лучи.
Иногда легче, генерировать код одной функцией на PHP чем 10-ю функциями на явескрепте. :) Уважаемы devote - возможно я ошибаюсь но, по моему параметр true, создавал многомерный массив, но не массив массивов, а массив - объектов. :) |
Цитата:
|
Часовой пояс GMT +3, время: 03:36. |