如何使用post方法将值发送到服务器?

时间:2019-05-11 07:32:47

标签: javascript php html ajax

最近几天我正在使用JS,并且正在实现聊天功能。 我正在使用AJAX post方法发送和接收文本,但是问题是我编写的代码无法正常工作。

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 个答案:

答案 0 :(得分:2)

尝试将“ processData”设置为true。

答案 1 :(得分:2)

您正在将对象传递给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