我有打開,顯示任何GET數據我通過URL的彈出窗口我的網頁上一些正規的錨標記鏈接:單擊鏈接時不發送表單而發送POST數據?
<a href="javascript:window.open('view.php?data=a%20bunch%20of%20data');">View</a>
這些數據中有些是很長的,和我的蹩腳的虛擬主機有可以在url中傳遞的GET數據的大小的一個非常小的限制。有沒有辦法做到這一點與POST數據,而不使用HTML表單?
我有打開,顯示任何GET數據我通過URL的彈出窗口我的網頁上一些正規的錨標記鏈接:單擊鏈接時不發送表單而發送POST數據?
<a href="javascript:window.open('view.php?data=a%20bunch%20of%20data');">View</a>
這些數據中有些是很長的,和我的蹩腳的虛擬主機有可以在url中傳遞的GET數據的大小的一個非常小的限制。有沒有辦法做到這一點與POST數據,而不使用HTML表單?
你也可以使用一個XMLHttpRequest
您需要使用表格。但是,你可以窩在一個表格超級鏈接:
<form method="post" action="somepage.php" id="form1">
<input type="hidden" name="field1" value="foo" />
<input type="hidden" name="field2" value="bar" />
<a href="somepage.php?field1=foo&field2=bar" onclick="document.getElementById('form1').submit(); return false;">Hyperlink</a>
</form>
我只是碰到了同一種困境,與jQuery的這個解決方案上來:
<a href="#" id="post-link">Example</a>
<script type="text/javascript">
$(document).ready(function() {
$('a#post-link').click(function() {
$('body').append($('<form/>', {
id: 'form',
method: 'POST',
action: '#'
}));
$('#form').append($('<input/>', {
type: 'hidden',
name: 'field1',
value: 'foo'
}));
$('#form').append($('<input/>', {
type: 'hidden',
name: 'field2',
value: 'bar'
}));
$('#form').submit();
return false;
});
});
</script>
有一件事我在我的Web開發的長期經驗教訓:如果你從你的主機,主機碰上限制你r網站在其他地方。圍繞主機限制 - 無論它們是什麼 - 從長遠來看,不會讓你走得太遠。主機價格便宜,您可以通過慷慨的資源獲得VPS,價格非常合理。
這不值得。
我認爲該是找到新的虛擬主機的時候了。你也支付這個費用嗎? – Blender 2012-03-10 04:01:19
同意,他們是可怕的。不幸的是,拿回我的錢已經太遲了。但如果你能避免它,不要使用inMotion。 – Joey 2012-03-10 04:04:41
這很荒謬。你能夠使用該虛擬主機正確上傳文件嗎? – Blender 2012-03-10 04:06:10