首页 > $.get发送数据给PHP页面但是收不到?

$.get发送数据给PHP页面但是收不到?

JS代码

$.get("test.php",{
    Xiaopeng : $("#selectbtn1").text()
  },function(data,textStatus){
    $("#right-table").load("test.php");                                                                     
  })

HTML代码

<form action="#" method="get">
      <button class="btn btn-default selectbtn" type="button" id="selectbtn1" name="Xiaopeng">Xiaopeng</button>
      <button class="btn btn-default selectbtn" type="button"id="selectbtn2">Dogwei</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn3">Zhukai</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn4">Xiaozhi</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn5">Qiqi</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn6">Xiaoyun</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn7">Naizhuo</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn8">Fengfeng</button>
      <br><br>
      <p>Loser</p>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-1">Xiaopeng</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-2">Dogwei</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-3">Zhukai</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-4">Xiaozhi</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-5">Qiqi</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-6">Xiaoyun</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-7">Naizhuo</button>
      <button class="btn btn-default selectbtn" type="button" id="selectbtn-8">Fengfeng</button>
      <br><br><br>
      <button class="btn btn-default" type="submit" id="tijiao">SubmiT!</button>
      </form>

PHP代码

<?php 



print_r($_GET);


 ?>
 

①结果只能得到一个空数组 Array()
这是为什么?求解惑

②我还想问一下name这个属性在$.get这种提交方法中到底起到什么作用


alert或console.log()一下$("#selectbtn1").text(),看看有没有正确获取到值


思路不对,或者说你没好好看文档,没有正确理解$.get 和 $(element).load方法。

$.get('test.php', {Xiaopeng: 'text'}, function(data){
    console.log(data); 
}); 

这个时候实际请求地址为test.php?Xiaopeng=text,而返回的data并不是空的,但是

$("#right-table").load("test.php");

这句的意思是获取test.php的返回内容并放入#right-table,此时Xiaopeng=text这个参数并不存在,所以只能得到空数组。
以下两种方式都是正解:

//方法1
$.get('test.php', {Xiaopeng: 'text'}, function(data){
    $("#right-table").html(data); 
}); 
//方法2
$("#right-table").load('test.php?Xiaopeng=' + $("#selectbtn1").text());

建议使用Firefox(需要firebug插件)或chrome浏览器,使用相应的功能可以检测ajax请求,你会发现你原先的代码是发送了两次不同的请求,而你输出的第二次请求的返回值,同时第二次请求确实没有任何数据被发送。


<button class="btn btn-default selectbtn" type="button" id="selectbtn1" name="Xiaopeng" ">Xiaopeng</button>

把Xiaopeng放到class里

<button class="btn btn-default selectbtn Xiaopeng" type="button" id="selectbtn1">Xiaopeng</button>

然后这样获取

$(".Xiaopeng").text()

总觉得你这种实现方式很奇怪,你可以描述下你的需求再想办法解决,梳理清楚吧

【热门文章】
【热门文章】