Как отправить значение на сервер методом post? - PullRequest
0 голосов
/ 11 мая 2019

Я работаю с JS в последние несколько дней и внедряю функцию чата. Я использую пост-метод AJAX для отправки и получения текстов, но проблема в том, что написанный мной код не работает должным образом.

JS код

function getPeople(room_code) {
    console.log(room_code);
    $.ajax({
        url: "process_php/Getroompeople.php" , 
        data: {
            roomcode: room_code
            } ,
        cache: false ,
        processData: false ,
        type: "POST" ,
        success: function(response) {
            //implementPeople(response);
            console.log(response);

        }
    });

        setTimeout(function(){ getPeople(room_code); }, 1000);
    }

PHP-код

<?php
$room_code = $_POST["roomcode"];
echo $room_code;
echo "hello";
?>

В ответе содержится неопределенный индекс.

Так что любая помощь с этим была бы очень полезна для меня!

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 11 мая 2019

Вы передаете объект в data.

    data: {
        roomcode: room_code
        } ,

В обычных условиях jQuery обработает этот объект и преобразует его в формат данных application/x-www-form-urlencoded.

PHP автоматически проанализирует application/x-www-form-urlencoded данных и использует их для заполнения $_POST.


Однако вы также сказали:

   processData: false ,

… который говорит jQuery не обрабатывать его.Таким образом, он будет обрабатываться как простая строка (т.е. "[object Object]") и отправляться в PHP.

Ваши данные не существуют в этой строке, поэтому $_POST["roomcode"] не определено.


Удалить processData: false , (или установите true)

2 голосов
/ 11 мая 2019

Попробуйте установить для "processData" значение true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...