我有各種重要的變量,我需要在同一頁面加載時從PHP轉換到JS。我目前將這些變量存儲在DOM元素屬性中,並使用jQuery來抓取它們。將變量從PHP傳輸和存儲到JS/jQuery的最佳方法
這工作正常,雖然作爲一些信息是相當重要的,我寧願這不公開可見的DOM和'隱藏從窺探'。
所以我的問題是:如何將變量傳遞給JS或從PHP的DOM,並保持它們隱藏的視線?
乾杯傢伙,希望你能幫助!
我有各種重要的變量,我需要在同一頁面加載時從PHP轉換到JS。我目前將這些變量存儲在DOM元素屬性中,並使用jQuery來抓取它們。將變量從PHP傳輸和存儲到JS/jQuery的最佳方法
這工作正常,雖然作爲一些信息是相當重要的,我寧願這不公開可見的DOM和'隱藏從窺探'。
所以我的問題是:如何將變量傳遞給JS或從PHP的DOM,並保持它們隱藏的視線?
乾杯傢伙,希望你能幫助!
在頁面加載時使用ajax請求。這裏是一個jQuery的外殼:
$(function()
{
$.ajax("http://yoursite.com/phpscript.php",
{
method: "post",
dataType: "json",
success: function(data)
{
// do what you will with the data here
}
});
});
所有信息都必須下載到某人的電腦上。你可以保持它「隱藏」在JavaScript中,但最終用戶可以很容易地使用螢火蟲或類似的東西來查看數據。
任何人使用螢火蟲仍然能夠看到正在通過的變數 – Serge 2011-02-02 15:41:38
在JS中進行的所有事情都可能被最終用戶看到。如果它是您想要隱藏的安全數據,則可能需要重新設計您的方法。
所以你想要將數據發送給用戶,而不是同時發送給用戶?
如果數據非常敏感,則無法將其交給客戶端處理,同時保證其安全。這根本不是網絡的工作原理。您交給客戶端的所有內容都必須能夠被客戶端讀取。您可以使用SSL等技術來保護數據不被攔截,但預期的收件人必須能夠閱讀。您應該處理服務器端的任何敏感數據,並僅輸出用於公共消費的結果。
如果你只是想使數據可用於同時hidding凌亂的實現細節的頁面,有很多選擇:
var myValue = <?= $serverside_value ?>
輸出的東西直接<input type="hidden" />
場或使用json_encode
這不是很好的值給我重要信息到客戶端(HTML/JS)。
但是要回答您的問題 - 您可以使用jQuery's AJAX方法向PHP發佈請求,並從PHP中,您可以將json_encode()'ed數據返回給jQuery。 如果你想讓它們隱藏不見,或者說「足夠加密」,你可以通過SSL通道運行。 另一種選擇是自己做加密或者使用一些公共圖書館public-private key encryption.
例如jQuery的崗位:
$.post("script.php",
{requestKey : "requestValue"}, // $_POST["requestKey"] == "requestValue"
function(response) {
// if you receive JSON encoded data
// you should use JSON decoder for javasript
// or var obj = eval('(' + response + ')');
},
"json");
在PHP這將是:
$data = $_POST["requestKey"];
// do something
echo json_encode($result);
我認爲那是不可能的你想要的方式。 – yoda 2011-02-02 15:31:17