Передача значения из 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:25. |