使用锚点加载发送帖子数据的页面

时间:2010-09-15 21:49:28

标签: javascript jquery

我甚至不确定这是否可行,但我需要通过用户点击的链接将POST数据发送到页面。可以这样做吗?

要明确,我不希望数据返回到当前页面;目标页面应该在浏览器中加载,就像用户提交了表单一样,但我需要在没有表单的情况下发送帖子数据,如果可能的话

3 个答案:

答案 0 :(得分:5)

没有表格你是什么意思?表单可以对用户“隐形”吗?如果是这样,您可以执行以下操作:

$("a.post").click(function (e) {
    e.preventDefault();

    $("<form action='"+this.href+"' method='post'></form>").submit();
});

显然,它可以采用多种不同的方式,但你明白了。

它就像一个表格,请求中的POST参数完好无损,以防您在提供该页面时在服务器上使用该信息。

答案 1 :(得分:3)

带有隐藏输入的表单怎么样?只需在提交表单的锚标记上创建一个click事件:

<script type="text/javascript">
$(function () {
    $("#postLink").click(function () {
        $("#form").submit();
    });
});
</script>

<a id="postLink" href="javascript:;;">click to post</a>
<form id="form" action="[postTargetUrl]" method="post">
    <input type="hidden" name="postVariable" value="[postValue]" />
</form>

答案 2 :(得分:0)

我只是将数据添加到url,然后目标页面可以提取它:

主页:

<a href="page2.htm?name=Fred">Fred</a>

目标页面(page2.htm)

$(document).ready(function(){
 var name = gup("name", window.location.href);
 alert(name);
});

/* Returns URL parameter
 * url: http://www.somesite.com?name=hello&id=11111
 * z = gup('name', window.location.href); // z = hello
 * Original code from Netlobo.com (http://www.netlobo.com/url_query_string_javascript.html)
 */
function gup(n,s){
 n = n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
 var p = (new RegExp("[\\?&]"+n+"=([^&#]*)")).exec(s);
 return (p===null) ? "" : p[1];
}