2015-05-26 29 views
0

送我送一個變量值的AJAX頁面這樣錯誤節省阿賈克斯在變量

var d = $('#sTree2').sortableListsToString(); 
$.post('myscript.php?url='+d); 

d值的查詢字符串是

item_a=0&item_b=0&item_b1=item_b&item_b2=item_b&item_b3=item_b&item_b4=item_b&item_b5= 
item_b&item_c=0&item_c1=item_c&item_c2=item_c&item_c3=item_c&item_c4=item_c&item_c5=item_c& 
item_d=0&item_d1=item_d&item_d2=item_d&item_d3=item_d&item_d4=item_d&item_d5=item_d& 
item_e=0&item_f=0 

在php文件我保存該值照常

$url=$_REQUEST['url']; 
echo $url; 

但結果是

item_a=0 

當我打開網絡選項卡在控制檯和觀察我發現相同的錯誤的值item_a = 0,而報頭是正確的含有予上述

任何建議提到整個URL的AJAX的預覽?

snapshot

+0

你期望什麼item_一個值是? –

+0

我期望url = item_a = 0&item_b = 0&item_b1 = item_b&item_b2 = item_b ...等並將php文件中的整個url保存在一個變量中,但發送的數據是item_a = 0 –

回答

0

那是因爲你沒有正確編碼您的字符串。您正在使用兩個單獨的網址編碼字符串並將它們一起拍打。服務器有想讓整個事物成爲url值的一部分的想法,所以它應該做到這一點 - 將事物解碼爲許多單獨的鍵=值對。

您需要對d進行微調,例如,

item_a=0&item_b=0&etc.. -> item_a=&item_b=0&etc... 
+0

現在url爲「u = item_a = 0 & item_b = 0 & item_b1 = item_b & item_b2 = item_b & item_b3 = item_b & item_b4 = item_b & item_b5 = item_b & item_c = 0 & item_c1 = item_c & item_c2 = item_c & item_c3 = item_c & item_c4 = item_c & item_c5 = item_c & item_d = 0 & item_d1 = item_d & item_d2 = item_d & item_d3 = item_d & item_d4 = item_d & item_d5 = item_d & item_e = 0 & item_f = 0「仍然是相同的結果 –

0

使用$_POST['url']在PHP文件,並通過郵寄這樣的發送數據:

$.post(url, data); 
0

沒有查詢字符串發送數據的問題解決了

$.post('myscript.php?'+d); 

然後在PHP文件

$url=$_SERVER['REQUEST_URI']; 
$url=end(explode("?",$url)); 
echo $url;