2011-04-11 27 views
0

首先,非常感謝迄今爲止幫助過我的所有人。你們真是太棒了,爲了完成我的論文,我多次拯救了我的生命。通過AJAX插入Javascript變量到PHP時

這是交易。我正在創建一個實驗,該實驗在一個頁面上運行,並通過ajax爲每個試驗重新加載php文件中的內容。對於每個試驗,我需要記錄受試者點擊某個按鈕的時間以及關於試驗的一些信息,因爲它們是隨機選擇的,所以我需要能夠將點擊時間與某個試驗相關聯。

到目前爲止,一切都一直很好。我已經設置好了,以便每次點擊時都加載並運行帶有ajax的PHP腳本,並且我已經注入了一小段腳本部分,其中包含關於每個試驗的所有重要變量。收集時間的PHP腳本運行良好,並且收集試用信息的腳本正在運行,但它無法正確識別$ _GET javascript標識變量。

太近了,但迄今爲止!誰能幫我嗎?我只需要能夠從網站上獲取javascript變量,那麼我很好。

這是我所有的內容,所以你可以觀察和玩弄它。

The experiment page。我將它設置爲在每次點擊接下來要提取的試驗後彈出包含JS變量信息的警報,以確保它們正確加載。

My backend JS logic。重要的東西一直在腳本的底部,在「音頻邏輯」類別下

The log file。每次運行實驗時,所有數據都會在這裏彈出。你會注意到,雖然PHP腳本運行,但它不會輸出它從JS獲得的變量。

...這裏是我有這應該得到JS變量的PHP代碼。 (loginfo.php)

$trialID = $_GET['trialID']; 
$type = $_GET['type']; 
$trick = $_GET['trick']; 
$file = "log.txt"; 
$fh = fopen($file, 'a') or die("You just failed the entire experiment"); 
fwrite($fh, "\n Trial ID: ".$trialID." | Trial Type: ".$type." | Trick? ".$trick); 
fclose($fh); 

變量已經在加載後,該代碼被調用,我已經展示了他們能夠正確加載與小警告框。我錯過了什麼?爲什麼這個PHP代碼不會選擇變量?

非常感謝你的幫助:)

回答

2

JavaScript不處理會話,它涉及餅乾(作爲客戶方僅腳本語言)。因此,您需要使用GET請求傳遞參數。詳細列在jQuery's文檔:

$獲得( 「test.php的」,{名字: 「約翰」, 時間: 「14:00」});

+0

太好了!但是,我只能發送我在那裏輸入的數據,還是可以發送變量?我需要爲每個試驗發送不同的數據,因此創建一個可以爲每個試驗發送不同的自定義數據的巨大聲明是非常繁瑣的...您知道嗎? – 2011-04-11 03:29:42

+0

發送一個變量類型,如'{name:variablename}',如果你不用引號,它被認爲是一個變量 – Ben 2011-04-11 03:37:35

+0

好吧,我會試試這個。這可能是一個在JavaScript代碼中定義的變量,對吧?我怎麼會在PHP中通過「名稱」或變量名來獲取這個_GET這個? – 2011-04-11 03:40:23

1

好,jQuery的AJAX默認爲張貼,除非你指定使用get(如果我沒記錯的話),所以嘗試改變$_GET S IN你的PHP $_POST S上的信息。

+0

沒有工作:( – 2011-04-11 03:26:13