从Zend开始,我想知道将POST数据发送到另一个页面的最简单方法是什么,而不是通过表单,而是通过我视图中的某些链接。谢谢:))
答案 0 :(得分:0)
您无法通过链接发送POST数据。至少不通过正常链接。链接只能携带GET数据。
如果您需要通过链接发送POST,那肯定是一个设计缺陷。
如果您100%确定,那么您需要它,您可以执行using jQuery和onclick事件。没有javascript就不可能做到这一点。其他选项是使用带有隐藏字段的表单发送它,其中单个提交按钮可见 - 这甚至可以在没有javascript的情况下工作。
答案 1 :(得分:0)
HTML中的普通超链接与GET请求一起发送,不应该更改正在访问的资源的状态。这被称为idempotent。您可以反复重复该请求,并且每个后续请求对同一URL的结果与第一个相同。
POST请求没有此限制,适用于用户需要更改的内容(例如创建新资源)。
无法通过普通的HTML链接发送POST请求。即使你找到了一种方法,它也打破了网络用户几乎普遍的期望。你想达到什么目的?也许有更好的方法。
但是要回答你的问题,你可以使用像jQuery这样的东西捕获“点击”事件并让它做一个POST请求:
$('.my-link').click(function() {
var url = $(this).attr('href');
var data = {};
$.post(url, data, function() {
window.alert('success!');
});
return false;
});
如果您的网址有任何查询参数,即“?foo = bar& baz = bum”,那么您可能需要将其从网址中删除,并将其作为第二个参数传递给$.post() function 。这留给读者练习。 ; - )