Как использовать значения объекта javascript в php?
Добрый день.
У меня есть объект
order = {
price : this.cart.totalPrice(),
emailOrdersTo : this.emailOrdersTo,
site : window.location.host,
currency : this.currency,
language : this.language
}
Я передаю его на сервер методом post:
server.post(this.baseUrl + '/form/storeformprocessor.php', order, bind(function(err){
if(err){
var message = ''
+ escapeHtml(t('orderFailed')) + ''
this.cartPopupView.show(message)
}
}, this))
как в файле storeformprocessor.php использовать значения объекта order, например в письме вывести значение site или price?
Сергей Соколов:
-----------------------------24737266919708
Content-Disposition: form-data; name="data"
{"price":6230,"emailOrdersTo":"vya@live.ru","site":"proweblog.ru","currency":"руб.","language"
:"russian","name":"1111","phone":"11111111111111","email":"1111111111111","items":[{"name":"ГУАВА 1
кг.","price":890,"quantity":7}]}
-----------------------------24737266919708-- вот что выдает
VyacheslavY: ну вот, значит, параметром "data" в PHP приходит строка текста, содержащая JSON. Его надо разобрать с помощью ф-ии json_decode() чтобы получить объект, как я и предложил в ответе. Что же, интересно, там не сработало? Попробуйте var_dump( json_decode( $_POST['data']))
VyacheslavY: нет. Все эти var_dump'ы – только временная штука, чтобы разобраться, что там приходит – они вываливают в output содержание переменных. Во-вторых, вместо всяких $_POST["name"] – надо $data->name – и то, после строки с json_decode()
VyacheslavY: вам надо научиться находить причины ошибок. Сейчас вывалился php – из-за ошибки в коде. Какой конкретно – см. лог. Какой лог и где лежит лог-файл? Выведите <?php phpinfo();
VyacheslavY: как минимум, уберите все var_dump(), а в $emailSubject забыли точку между "Новой заявкой" и свойством дальше. Ещё вопрос вызывает заголовок FROM – там ожидается email адрес.
Сергей Соколов: Исправил, пришла полная заявка, разрешите еще вопрос, мне теперь чтобы выводить все позиции нужно использовать
foreach($data->item as $key => $val)
{
$emailBody .= "$key\n$val\n\n";
}