我正在使用ajax進行異步數據庫訪問的項目。 我值存儲在JavaScript變量如下..將變量值從javascript傳遞到php
var content=xmlhttp.responseText;
現在是我想要的就是這個值傳遞給同一個頁面上的PHP模塊.. 請建議me..its迫切
我正在使用ajax進行異步數據庫訪問的項目。 我值存儲在JavaScript變量如下..將變量值從javascript傳遞到php
var content=xmlhttp.responseText;
現在是我想要的就是這個值傳遞給同一個頁面上的PHP模塊.. 請建議me..its迫切
你必須向另一個腳本發出單獨的AJAX請求才能實現此目的。 PHP是服務器端的,因此不能直接與客戶端交互。
你應該在PHP中處理數據(你指定給內容),因爲正如這裏的其他答案告訴你的那樣,PHP是服務器端,JavaScript是在客戶端上。如果您從您控制的頁面獲取此數據,而不是var content = xhr.responseText;
,請在您發送數據之前修改數據。例如,如果您正在對服務器上的process.php
文件進行AJAX調用,以獲取您在JavaScript中以其他方式分配給content
的數據,請確保將process.php中的數據處理爲echo()數據(你是那裏面content
在客戶端上)存儲:
在process.php:
// below is the normal server script which you are storing in content on the client
// echo $result;
// instead, we are going to operate on the data first:
return doSomething($result);
然後在客戶端上:
var newContent = xhr.responseText;
而且newContent
變量將包含數據你以前希望用PHP進行修改。如果您無法控制您使用AJAX調用的服務器腳本,則如上所述,您將需要使用PHP向服務器發送第二次AJAX調用,並使用$_GET
或$_POST
來檢索該數據,然後使用然後在那裏玩。
我不清楚您需要將值從javascript傳遞給php。
,但我可以給你,
對你的問題的非推薦,但工作方式:
你說,你是在第一次調用Ajax。在處理相應的服務器端php函數時,將響應值(xmlhttp.responseText的值)存儲到變量$ _SESSION變量中。最後在ajax響應處理函數中重新加載頁面(使用location.reload())。
而且對你的問題建議的方法:
你可能已經增加了一些的if-else控制流結構中的PHP代碼,並期待獲得Ajax響應值(可惜你不能做到這一點)後執行。所以如果你確實有這樣的邏輯,那麼將這些if-else條件轉換爲相應的Javascript代碼。可能是一個JavaScript函數,並通過向其傳遞ajax響應值來調用該函數。這個新函數將使用您的ajax響應值,並通過應用必要的邏輯在網頁的某些部分進行更改。
進行另一個Ajax調用來發送數據。有很多相關的問題(這個問題很多)。檢查此頁面上的右欄。 –