2014-10-29 85 views
-2

有可能以某種方式通過<a>標記發送$_POST[]數據嗎?因爲它似乎在頁面加載時自動執行$_POST[],而不是當我按下錨定標記時。

編輯: 所以我想要做到的,是這樣的:

我想一個錨標記這將normaly去somepage.php?variable=something ,但使用的$_GET[]我想通過發送變量$_POST

+1

請讓您的要求更清楚 – Jenz 2014-10-29 11:54:13

+0

有什麼不明白的嗎?我希望使用錨標籤發送'$ _POST []'值,基本上像使用'someurl.php?action = derp'而不是使用'$ _GET []'我想要使用'$ _POST []' – Derp 2014-10-29 11:55:37

+0

答案是否定的。你可以做的是當標籤被點擊時設置輸入類型的值。使用Javascript。 – Jinandra 2014-10-29 11:56:42

回答

4

你可以做到這一點使用jQuery和HTML表單

HTML:

<form method="post" name="redirect" class="redirect"> 
<input type="hidden" class="post" name="post" value=""> 
<input type="submit" style="display: none;"> 
</form> 

按鈕:(HTML)

<a href='javascript:void(0)' class='button' var='DATAHERE'>sometexthere</a> 

的Javascript,或者更確切地說,說jQuery的:

$(".button").click(function() { 
    var link = $(this).attr('var'); 
    $('.post').attr("value",link); 
    $('.redirect').submit(); 
}); 

這個jQuery代碼監聽附加到他們的類button的項目的任何點擊,並讀出它們的「var」值,基本上你可以使用任何類型的使用此方法的HTML元素,只要它們具有附加的button類到它。

+0

完全符合我的需求!謝謝! – Derp 2014-10-29 13:31:30

+0

@downvoter謹慎解釋downvote? OP表示這幫助他解決了這個問題。 – Azrael 2014-10-29 14:12:21

7

HTML中的任何內容都不會導致鏈接觸發POST請求或在請求正文中編碼數據。

您可以bind a JavaScript event handler to a link,取消默認行爲,然後通過programmatically submitting a form或使用XMLHttpRequest發送POST請求。這通常不是一個好主意,你應該使用一個提交按鈕(如果你真的想要,你可以把它看起來像一個鏈接)。

+0

是的我知道,這就是爲什麼我使用php .. – Derp 2014-10-29 11:57:54

+0

爲什麼你問這個問題呢? – Quentin 2014-10-29 11:58:15

+0

從這個反應,也許你不知道... – 2014-10-29 11:58:20

0

答案是否定的。你可以做的是設置<a>標籤被點擊時的輸入類型的值。使用Javascript。

+0

好的,我會試試看,謝謝! – Derp 2014-10-29 12:02:35

0

您可以從錨標記的href屬性中獲取查詢字符串(您需要解析href並獲取&符號右側的字符串),然後使用javascript發佈它或jQuery(更容易使用jQuery)。

http://api.jquery.com/jquery.post/

不得不問,爲什麼你會想/需要做到這一點?

+0

我試圖根據$ _POST值打開某些文件,這是因爲有關$ _GET + url隱藏的安全原因。 – Derp 2014-10-29 12:31:44

+2

$ _POST的內容非常明顯。檢查您的瀏覽器控制檯,您可以看到發送到服務器的所有內容。通過使用$ _POST,沒有任何改進的安全性。任何存在於瀏覽器中的東西都會暴露 – 2014-10-29 12:40:15

+0

確實可讀,但我更關心輸入;)+我不喜歡像20'$ _GET values'那樣的豐富鏈接 – Derp 2014-10-29 13:22:07