单击链接时不发送表单而发送POST数据?
问题描述:
我有打开,显示任何GET数据我通过URL的弹出窗口我的网页上一些正规的锚标记链接:单击链接时不发送表单而发送POST数据?
<a href="javascript:window.open('view.php?data=a%20bunch%20of%20data');">View</a>
这些数据中有些是很长的,和我的蹩脚的虚拟主机有可以在url中传递的GET数据的大小的一个非常小的限制。有没有办法做到这一点与POST数据,而不使用HTML表单?
答
您需要使用表格。但是,你可以窝在一个表格超级链接:
<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