Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryajax获取不传递值_Javascript_Jquery - Fatal编程技术网

Javascript jqueryajax获取不传递值

Javascript jqueryajax获取不传递值,javascript,jquery,Javascript,Jquery,这让我快发疯了 $(document).on("click",".load",function(b){ b.preventDefault(); $.get("/url/get.php",{ id: 123 }, function(a){ $("#result").html(a); }) }); 这会按预期加载页面,但当我执行print\r($\u GET)时,它显示为空。。。 有什么想法吗 后端: if (isset($user) == false) {

这让我快发疯了

$(document).on("click",".load",function(b){
  b.preventDefault();
  $.get("/url/get.php",{
    id: 123
  },
  function(a){
    $("#result").html(a);
  })
});
这会按预期加载页面,但当我执行
print\r($\u 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);

请使用done()函数尝试以下方法:

$(document).on("click",".load",function(b){
  b.preventDefault();
  $.get("/url/get.php",{
    id: 123
  }).done(
  function(a){
    $("#result").html(a);
  })
});
正如文中所说,这是使用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()之间差异的文本:

请试试这个

 $(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);
     }


   })
 });
试用 $data=文件\u获取\u内容(“php://input");

$r=json_解码($data)


而不是$\u进入php文件,然后打印$r

,它可能与后端设置有关。这个js看起来很好,可能是我发布的后端@ammarcseth的复制品,它对我没有帮助@AlejandroTeixeiraMuñozOk!!现在看到了后端。检查!!。完成()解决了问题。。。谢谢。这很奇怪,因为我以前使用过,但没有.done()没有问题。$get和$ajax是不同的。。。我也有过疯狂的日子…:)很高兴看到你解决了!!我认为这是由于ajax xhr错误造成的。与done()类似,有一个success方法,在请求正常时运行。完成将永远运行。添加编辑以澄清