Home  >  Article  >  Backend Development  >  javascript - $.get发送数据给PHP页面但是收不到?

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

WBOY
WBOYOriginal
2016-06-06 20:06:441025browse

JS代码

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

HTML代码

<code><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></code>

PHP代码

<code><?php print_r($_GET);


 ?>
 </code>

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

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

回复内容:

JS代码

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

HTML代码

<code><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></code>

PHP代码

<code><?php print_r($_GET);


 ?>
 </code>

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

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

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

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

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

<code>$("#right-table").load("test.php");</code>

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

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

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

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

把Xiaopeng放到class里

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

然后这样获取

<code>$(".Xiaopeng").text()</code>

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn