这让我发疯了......
$(document).on("click",".load",function(b){
b.preventDefault();
$.get("/url/get.php",{
id: 123
},
function(a){
$("#result").html(a);
})
});
这会按预期加载页面但是当我print_r($_GET)
时它显示为空...
有什么想法吗?
后端:
if (isset($user) == false) {
session_start();
$path_to_root = "../";
require($path_to_root."require/loads.php");
$PDO = new PDO(DB_CONN, DB_USERNAME, DB_PASSWORD);
$user = new User($PDO);
}
$i = 0;
print_r($_GET);
答案 0 :(得分:0)
请尝试这种方式,使用done()函数:
$(document).on("click",".load",function(b){
b.preventDefault();
$.get("/url/get.php",{
id: 123
}).done(
function(a){
$("#result").html(a);
})
});
正如在jquery docs中所说的那样,用GET发送有效载荷数据的方式。
无论如何,你也可以使用ajax:
$.ajax({
url: "/url/get.php",
type: "get", //send it through get method
data:{id:123},
success: function(response) {
$("#result").html(a);
},
error: function(xhr) {
$("#result").html("ERROR");
}
});
无论如何,如果你仍然在查看这些错误,那么问题就会出现在你的后端,就像@AmmarCSE评论一样。
希望有所帮助
编辑有关jquery方法success()和done()之间区别的一些文字:
答案 1 :(得分:0)
请试试这个
$(document).on("click",".load",function(b){
b.preventDefault();
$.ajax({
method:'get',
url : '/url/get.php',
data : '{id:123}',
dataType: 'json', //json,html any you will return from backend
success:function(a){
$("#result").html(a);
}
})
});
答案 2 :(得分:0)
尝试使用 $ data = file_get_contents(" php:// input");
$ r = json_decode($ data);
而不是你的php文件中的$ _GET,然后打印$ r