javascript – jQuery onclick传递post变量并重新加载页面

前端之家收集整理的这篇文章主要介绍了javascript – jQuery onclick传递post变量并重新加载页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以在点击超链接时传递帖子变量并重新加载页面吗?

要清楚我有这样的事情.
< a href =“test.PHP?name = test”>点击< / a>

如果启用了javascript,

我想我可以使用“event.preventDefault()”来抑制传递为GET变量.

所以现在onclick,name应该作为post变量而不是get传递.

如果禁用了javascript,
那么上面应该有效.

解决方法

您可以通过创建一个新的表单元素,将其指向href并在其上调用.submit()来实现.
<a class="postlink" href="test.PHP?name=test">Click</a>

<script type="text/javascript">
    $('.postlink').click(function() {
        var form= document.createElement('form');
        form.method= 'post';
        form.action= this.protocol+'//'+this.hostname+this.pathname;
        $.each(this.search.slice(1).split(/[&;]/g),function() {
            var ix= this.indexOf('=');
            if (ix===-1) return;
            var input= document.createElement('input');
            input.type= 'hidden';
            input.name= decodeURIComponent(this.slice(0,ix));
            input.value= decodeURIComponent(this.slice(ix+1));
            form.appendChild(input);
        });
        document.body.appendChild(form);
        form.submit();
        return false;
    });
</script>

或者您可以改为执行AJAX请求,然后根据需要重新加载()页面.

但是,我不确定你为什么要这样做.什么用途是通常POST的链接,除非它不是? (不仅在JS被禁用/不可用时或者当它是搜索引擎时,而且当用户中间点击链接或尝试右键单击 – 将其加入书签或其他任何内容时.)

如果您想要的只是一个提交POST表单的按钮,那么最好真正使用真实表单并提交按钮,然后使用CSS将其重新设置为链接,如果这是您想要的样子.

原文链接:https://www.f2er.com/jquery/159441.html

猜你在找的jQuery相关文章