Код из переменной
Добрый день.
У меня такой вопрос. У меня есть переменная, в ней содержится код. Пример:
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, время: 07:32. |