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
把Xiaopeng放到class裡
Xiaopeng
然後這樣擷取
$(".Xiaopeng").text()
總覺得你這種實現方式很奇怪,你可以描述下你的需求再想辦法解決,梳理清楚吧
alert或console.log()一下$("#selectbtn1").text(),看看有沒有正確擷取到值