[問題] Ajax的.open問題

看板Ajax作者 (小 i)時間15年前 (2010/10/01 09:42), 編輯推噓1(1023)
留言24則, 3人參與, 最新討論串1/4 (看更多)
最近我目前遇到一個奇怪的AJAX問題 function checkUser(str) { if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","check_uid.php?q="+str,true); //傳值成功 xmlhttp.open("GET","/amfphp/services/EventTrigger.php?q="+str,true); //傳值失敗 xmlhttp.send(); } 而我在這兩個PHP檔裡面都是用$q=$_GET["q"]; 但是我同一資料夾內的PHP檔案收的到值 子資料夾內的的PHP卻收不到 請問這到底是哪裡出了錯? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.59.198 ※ 編輯: iii125 來自: 114.39.59.198 (10/01 09:48)

10/01 09:56, , 1F
絕對路徑應該是錯的?你直接貼到網址列應該也不行吧?
10/01 09:56, 1F

10/01 11:13, , 2F
路徑寫錯的機率非常高。
10/01 11:13, 2F
※ 編輯: iii125 來自: 140.127.220.44 (10/01 13:10)

10/01 19:37, , 3F
請先確定這個路徑 /amfphp/services/EventTrigger.php
10/01 19:37, 3F
我確定我上面的路徑是對的 而我的index檔是在我的主機的fb2資料夾下 然後我試了我check_uid.php 可以之後我才將EventTrigger.php的檔案路徑省略了/fb2/ 不知道這樣會不會有問題 (不過我之前有試過也不太行就是了QQ) ※ 編輯: iii125 來自: 114.39.54.195 (10/01 22:08)

10/01 22:33, , 4F
把前面的斜線拿掉看看
10/01 22:33, 4F

10/02 01:51, , 5F
如果你確定兩隻程式一樣…把有關檔案的絕對或相對路徑
10/02 01:51, 5F

10/02 01:51, , 6F
列出來應該就能夠知道問題所在了,另外 .open 有 error ?
10/02 01:51, 6F
感謝各位的幫忙 我找到我bug的地方了 我的EventTrigger.php裡面的寫法是 <?php class EventTrigger{ public function __construct() { mysql_connect=.... $q=$_GET["q"]; } function XXX() { : : } } ?> 結果這樣值都收不到 反而如果我寫在class外面就可以了 那有甚麼方法可以讓他連class裡面有可以收的到嗎@@? 麻煩了 ※ 編輯: iii125 來自: 114.27.130.173 (10/02 11:32)

10/02 11:36, , 7F
你把EventTrigger 的code 寫清楚吧 orz
10/02 11:36, 7F

10/02 11:37, , 8F
理論上$_GET應該是全域的 有跑到應該就有拿到
10/02 11:37, 8F

10/02 11:37, , 9F
可能__construct 根本沒進去,你確認一下你php版本是php4還
10/02 11:37, 9F

10/02 11:37, , 10F
是php5
10/02 11:37, 10F
http://tinyurl.com/28kkgo7 這是我的EventTrigger版本上應該沒有問題 ※ 編輯: iii125 來自: 140.127.220.28 (10/02 12:17)

10/02 12:25, , 11F
http 404 , 版本沒有問題 , 所以你是 php4 還是 php5 ..?
10/02 12:25, 11F

10/02 12:27, , 12F
這麼說好了 你直接連
10/02 12:27, 12F

10/02 12:28, , 14F
如果這樣的連結有資料,那就不是js 的問題。
10/02 12:28, 14F

10/02 12:28, , 15F
然後根據你的描述,看起來是__constructor 沒進去,
10/02 12:28, 15F

10/02 12:28, , 16F
如果你的環境不幸是用php4 ,你就會發現 __constructor 在
10/02 12:28, 16F

10/02 12:29, , 17F
PHP4 是沒有意義的。只有PHP5 以後才能把 class 寫成這樣
10/02 12:29, 17F

10/02 12:31, , 18F
還有一個可能性,他可能有跑到但是 $q 沒有被拿來用
10/02 12:31, 18F

10/02 12:32, , 19F
$q 會是什麼 成員嗎? (因為你的event trigger原始碼目前
10/02 12:32, 19F
http://tinyurl.com/2f4jb3b 新的 ※ 編輯: iii125 來自: 140.127.220.28 (10/02 12:35)

10/02 12:41, , 20F
看起來好像是成員變數沒出去的問題。
10/02 12:41, 20F

10/02 12:42, , 21F
$q 改寫成 $this->q 並把$q 放到成員去宣告應該會work。
10/02 12:42, 21F

10/02 12:42, , 22F
in php5
10/02 12:42, 22F

10/02 12:42, , 23F
chris 你幫他看看吧 php 你比我熟 XD
10/02 12:42, 23F

10/02 14:34, , 24F
看起來像是沒 new instance 所以沒進去 constructor
10/02 14:34, 24F
文章代碼(AID): #1CfJoBmJ (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1CfJoBmJ (Ajax)