2011-08-19 138 views
0

我想將數據從一個網頁傳輸到另一個頁面。但我不想使用<form method="post">標籤,因爲我的網頁中沒有任何表單。只有一些敏感數據需要傳輸到其他頁面。POST和GET方法

請回答以下問題:

  1. 什麼是從一個頁面的數據轉移到另一個方式?
  2. 如何在不使用HTML中的<form>標記的情況下將數據從一個頁面傳輸到另一個頁面?
  3. 另一個PHP(或ASP)頁面可以如何讀取其他頁面發送給它的數據?
+0

will $ .post([myData])w/or w/o ajax是否可以解決您的問題? (jquery) – Ismael

+0

@Ismael:我認爲它會解決我的問題。但爲此,我需要觸發將發送數據的JavaScript函數。但在我的網頁中,查詢數據庫中的數據後,我想將它發送到下一個網頁。 –

+0

鑑於數據是「敏感的」(這是一個主觀的術語),也許它應該保留在服務器端並通過會話/數據庫/等傳輸? – David

回答

7

我不想使用<form method="post">標記,因爲我的網頁中沒有任何表單

這不是避免使用表單的好理由。你可以添加一個。

將數據從一個頁面傳輸到另一個頁面的方法是什麼?

  1. 通過URI(查詢字符串)
  2. 作爲請求體的一部分(POST請求)
  3. 通過cookie(你可以用JS設置)
  4. 通過各種local storage systems

如果數據需要可收藏,請使用查詢字符串。如果在服務器上進行更改(例如添加或編輯數據庫條目),則使用POST請求(使用表單)。如果數據需要在整個站點中保留,則使用cookie(最好在使用方法1或2後通過HTTP進行設置)。將本地存儲用於需要離線運行的Web應用程序。

如何在不使用HTML標籤的情況下將數據從一個頁面傳輸到另一個頁面?

如上所述,但折扣發佈請求(除非你讓他們使用JavaScript和XMLHttpRequest)。

另一個PHP(或ASP)頁面如何可以讀取其他頁面發送給它的數據?

使用本地存儲,它不能。所有其他數據可通過服務器環境獲得(例如,PHP中的$_POST$_GET$_COOKIE)。

+0

'

'標籤無需提交按鈕就可以工作嗎? –

+0

Cookie不能在不同域之間共享,但是正確嗎? – NeilMonday

+0

@iSumitG - 在一些有限的情況下,它將會,但不應該依賴它們。提交按鈕沒有任何問題,你可以對它們進行設計(儘管使它們看起來像不是按鈕並不是一個好主意)。 – Quentin

2
  1. 你可以使用一個隱藏的輸入即<input name="secret" type="hidden" value="superSecretData" />

  2. 可以創建其中包含數據,即<div style="display: none">SuperSecretData</div>

3a中的隨機元素。在前者在php的情況下,它將只是一個訪問的問題$_POST['secret']

3b。在後面的情況下,您需要使用這種類型的JavaScript來獲取隨機元素並將其與頁面一起發送。

希望這有助於

0

1)EasyXDM使用postMessage如果有的話,哈希標籤,或閃存

2)同1

3)你可以再次使用EasyXDM

如果用window.open或類似的或iframe打開其他頁面