[ajax] 可以使用GET無法使用POST

看板Ajax作者 (做自己 好自在)時間16年前 (2009/09/13 02:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
我的功能主要是想利用ajax丟一個網址給php處理 現在面臨一個兩難 -------------------------------------------------------------- 使用GET:(嫌太多可以直接看POST部分 這個不是大問題) 假設url="http://aaa.aaa.aaa/aaa.php?a=123&b=123&c=123" 我把這個url丟給handle.php去處理 handle.php收到的值變成 url=http://aaa.aaa.aaa/aaa.php?a=123 a=123 b=123 c=123 我知道這個可以用escape(url)去解決 但我利用網路上php的unescape function去解讀會變成 url="http://aaa.aaa.aaa/aaa.php?a=123b=123c=123" 莫名奇妙少了& 附一下function (不過我想重點不是這段 下半段問題比較大) function unescape($str) { preg_match_all("/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/", $str, $matches); $ar = &$matches[0]; $c = ""; foreach($ar as $val){ if (substr($val,0,1)!="%") { //如果是字母數字+-_.的ascii碼 $c .=$val; } elseif (substr($val,1,1)!="u") { //如果是非字母數字+-_.的ascii碼 $x = hexdec(substr($val,1,2)); $c .=chr($x); } else { //如果是大於0xFF的碼 $val = intval(substr($val,2),16); if($val < 0x7F){ // 0000-007F $c .= chr($val); } elseif($val < 0x800) { // 0080-0800 $c .= chr(0xC0 | ($val / 64)); $c .= chr(0x80 | ($val % 64)); } else { // 0800-FFFF $c .= chr(0xE0 | (($val / 64) / 64)); $c .= chr(0x80 | (($val / 64) % 64)); $c .= chr(0x80 | ($val % 64)); } } } return $c; } ------------------------------------------------------------ 使用POST: 接下來我想說使用POST去處理看看 但怎麼丟都都不過去 很簡單的一個小東西用了五六個小時 有點頭大 ajax: createXMLHttpRequest(); var url="handle.php?timeStamp=" + new Date().getTime(); var queryString="123312312"; //直接丟字串也不行 xmlHttp.open("POST", url, true); xmlHttp.onreadystatechange=handleStateChange; xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.send(queryString); php: if(!isSet($_POST['queryString'])) echo "error"; else echo $_POST['queryString']; 已經把可能出錯的東西丟挑掉了 測試結果應該是post丟不過去 可以請問一下我哪個部份有問題嗎 感謝......@________@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.55.165
文章代碼(AID): #1Ag-jTqY (Ajax)
文章代碼(AID): #1Ag-jTqY (Ajax)