Данные, отправленные через AJAX, недоступны в $ _POST - PullRequest
0 голосов
/ 30 марта 2019

Мой код Javascript следующий:

function on(logged_user) {
    alert(logged_user);

    $.ajax({
        url: "update_stats.php",
        type: "POST",
        data: logged_user
    });
}

update_stats.php содержит

<?php
     $logged_user = $_POST["logged_user"];
?>

, но я вижу, что $ logged_user - просто пустая строка (я вставляю еев таблицу базы данных)

Ответы [ 4 ]

1 голос
/ 30 марта 2019

Ваш параметр данных для вызова $.ajax имеет неправильный формат.Из руководства :

Параметр данных может содержать либо строку запроса вида key1 = value1 & key2 = value2, либо объект формы {key1: 'value1',key2: 'value2'}

Вы должны изменить эту строку на:

data: { logged_user : logged_user },

или

data: 'logged_user=' + logged_user,
0 голосов
/ 30 марта 2019

Вам нужно передать данные в формате ключ-значение, чтобы получить доступ к переменным массива $ _POST, $ _GET и $ _REQUEST в php.

data: {'logged_user' : data: logged_user}

Вы можете получить доступ к необработанным данным, таким как данные JSON или текстовые данные.который не в формате значения ключа вы можете использовать file_get_contents ("php: // input") для доступа к данным.

0 голосов
/ 30 марта 2019

просто попробуйте это:

function on(logged_user) {
alert(logged_user);

$.ajax({
    type : 'POST', 
    url  : update_stats.php,
    data : logged_user,
    dataType : 'json', 
    encode : true
});
}
0 голосов
/ 30 марта 2019

Это не javascript, это jquery ajax, поэтому, пожалуйста, включите библиотеку jquery.и измените свою функцию следующим образом:

Синтаксис для передачи таких значений, как,

data: '{"key":' + value + ', "key": "значение"} ',

или

data = "ключ =" + значение

или

данные: JSON.stringify ({ключ: значение, ключ: значение}),

 function on(logged_user) {

        var dataString = "logged_user=" + logged_user

        $.ajax({
            type: "POST",
            url: "update_stats.php",
            data: dataString,
            cache: false,
            success: function(result) {
                    alert(result)
            }
        })
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...