Передача значения из js в php
Доброго времени суток!
Необходимо из js передать полученное значение в файл php. Делаю так (страница просмотра заказа\bitrix\templates\test.ru-new\components\bitrix\sale.personal.order.detail\s hop\template.php): let pay = document.querySelector('form[method=get]').action; $(document).ready(function () { $.ajax({ url: "/pay.php", type: "POST", data: {payment: pay}, success: function (data) { alert (data); }, error: function(){ alert ("No PHP script: "); } }); }); На данной странице при обновлении выводится alert c содержимым: <pre>Array ( ) </pre><pre>Array ( [payment] => https://securepayments.sberbank.ru/payment/merchants/sbersafe_cardholder/payment_ru.html?mdOrder=111111) </pre> На странице /pay.php $_POST пустой :-? Подскажите, пожалуйста, что делаю не так? |
Если пустой, то откуда [payment] => https://securepayments..., и почему ответом два массива, первый из которых пустой?
Что-то вы не так обрабатываете на сервере. |
Цитата:
Цитата:
На данный момент в alert на странице заказа выводится следующее: <pre>Array ( [payment] => https://securepayments.sberbank.ru/payment/merchants/sbersafe_cardholder/payment_ru.html?mdOrder=111111 ) </pre> Цитата:
laimas, в файле (где получаю значение в js) возможно ли передать значение в php? |
Цитата:
И вы не значение JS передаете, просто некое значение, получаете вы его посредством JS, это да. |
Цитата:
Цитата:
Что могу делать не так? В одном файле получаю некое значение посредством JS, передаю в POST. В другом файле просто хочу вывести данное значение, а массив POST пустой :-? |
Цитата:
<? if($_POST) { exit(print_r($_POST, 1)); } ?> <html> <head> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <style> </style> <script type="text/javascript"> $(function() { var data = [ {name: 1}, {"name": 1} ]; $('button').click(function() { $.post(location, data[this.value], function(d) { alert(d) }) }) }); </script> </head> <body> <button value="0">GO 1</button> <button value="1">GO 2</button> </body> </html> |
Два массива вы можете получить только в том случае, если на сервере бардак в коде или ваш код на клиенте по какой-то причине выполняется дважды и ответ вы смотрите в консоли. Но и в этом случае в консоли будет видно, что это ответ на два запроса, а не на один.
|
Цитата:
Удалены лишние строки в коде, после чего результат приходит один :yes: |
Цитата:
|
Да, это простой код, отправляющий одно и то же, с разницей только в написании свойства объекта. На сервер оно будет отправлено как параметр запроса (ключ) и без всяких кавычек в любом из случаев! Сервер приняв запрос вернет эти данные.
|
Часовой пояс GMT +3, время: 22:08. |