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

查看:85
本文介绍了javascript - $.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这种提交方法中到底起到什么作用

解决方案

思路不对,或者说你没好好看文档,没有正确理解$.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请求,你会发现你原先的代码是发送了两次不同的请求,而你输出的第二次请求的返回值,同时第二次请求确实没有任何数据被发送。

这篇关于javascript - $.get发送数据给PHP页面但是收不到?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆