最近几天我正在使用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";
?>
响应显示未定义的索引。
因此,任何有关这方面的帮助都会对我很有帮助!
预先感谢!
答案 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
)