带有查询字符串的jQuery ajax post URL无法在服务器端获取$_POST的原因是,当使用jQuery的ajax方法发送POST请求时,数据会以请求体的形式发送到服务器端,而不是作为查询字符串附加在URL上。因此,在服务器端无法通过$_POST来获取这些数据。
解决这个问题的方法是,在发送POST请求时,将数据以JSON格式作为请求体发送到服务器端,并在服务器端使用$_POST来获取这些数据。具体步骤如下:
$.ajax({
url: "server.php",
type: "POST",
data: JSON.stringify({ key1: value1, key2: value2 }),
contentType: "application/json",
success: function(response) {
// 处理服务器端返回的响应
}
});
$requestBody = file_get_contents('php://input');
$data = json_decode($requestBody, true);
$value1 = $data['key1'];
$value2 = $data['key2'];
这样,就可以在服务器端获取到通过jQuery ajax发送的带有查询字符串的POST请求中的数据了。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云