当前位置:Gxlcms > PHP教程 > javascript-$.get发送数据给PHP页面但是收不到?

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

时间:2021-07-01 10:21:17 帮助过:24人阅读

JS代码

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

HTML代码


PHP代码


 

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

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

回复内容:

JS代码

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

HTML代码


PHP代码


 

①结果只能得到一个空数组 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请求,你会发现你原先的代码是发送了两次不同的请求,而你输出的第二次请求的返回值,同时第二次请求确实没有任何数据被发送。

把Xiaopeng放到class里

然后这样获取

$(".Xiaopeng").text()

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

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

人气教程排行