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

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

WBOY
Release: 2016-06-06 20:06:44
Original
1058 people have browsed it

JS代码

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

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>
Copy after login
Copy after login

PHP代码

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


 ?>
 </code>
Copy after login
Copy after login

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

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

回复内容:

JS代码

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

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>
Copy after login
Copy after login

PHP代码

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


 ?>
 </code>
Copy after login
Copy after login

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

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

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

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

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

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

这句的意思是获取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>
Copy after login

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

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

把Xiaopeng放到class里

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

然后这样获取

<code>$(".Xiaopeng").text()</code>
Copy after login

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

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template