2014-06-15 118 views
0

所以我一直在尋找如何記錄和發送客戶端數據到php服務器。使用ajax發送JavaScript數據到php

我不確定是否有正確的術語,但我認爲使用ajax調用發送帖子到php服務器是解決此問題最優雅的方法。

,所以我決定將其實現數據交換:

$("#"+activityInfo.ID).click(function(){ 
window.open(activityInfo.URL+"userId="+$("#userid").val()+"&activityId="+activityID+"&classId="+classID); 
classid = classID; 
activityid = activityID; 
$("body").append("class: " + classid); 
$("body").append("id: " + activityid); 
$.post('http://chemcollective.org/chemvlab/php/updateProgress.php', { 'cid':classid , 'aid':activityid });}); //i think this is the important line that sends the data 

和相應的PHP文件(updateProgress.php)

$class_id = $_POST['cid']; //receives the data 
$activity_id = $_POST['aid']; 

我不知道爲什麼是這樣的情況,但類標識碼而activity_id變量總是返回一個空值。

我的理解有點是,客戶端瀏覽器是在從PHP服務器預先加載信息的頁面上。但有些帖子表示這是一種通過客戶端信息與PHP服務器通信的可能方式。我不太清楚B/C上到底發生了什麼,在這一點上,我真的不知道要問什麼問題。

,我一直跟隨的例子解釋之一: Ajax passing data to php script

感謝您的幫助。

我也玩過start_session()和存儲/加載會話變量作爲傳輸數據信息的方式。這項工作,但只適用於PHP < - > php通信。它不用於保存JavaScript變量,所以我不能真正使用$ _SESSION = .....在我的JavaScript代碼中。

+0

你確定你從javascript獲得'cid'和'aid'值嗎?還請檢查瀏覽器控制檯是否存在「CORS」錯誤。 –

回答

0

您需要在使用$ .post的同時獲得cid和幫助以外的qout!試試這個:

$.post('http://chemcollective.org/chemvlab/php/updateProgress.php', { cid:classid , aid:activityid });