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

Javascript jQuery onclick传递post变量并重新加载页面,javascript,jquery,dom,Javascript,Jquery,Dom,我可以传递post变量并在单击超链接时重新加载页面吗 说清楚,我有类似的东西。 如果启用了javascript 我想我可以使用“event.preventDefault()”来禁止作为GET变量传递 所以现在onclick,name应该作为post变量而不是get传递 如果禁用了javascript, 然后,上面的操作就可以了。您可以通过创建一个新的表单元素,将其指向href并在其上调用.submit() <a class="postlink" href="test.php?name=t

我可以传递post变量并在单击超链接时重新加载页面吗

说清楚,我有类似的东西。

如果启用了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>

$('.postlink')。单击(函数(){
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('=');
如果(ix==-1)返回;
var input=document.createElement('input');
type='hidden';
input.name=decodeURIComponent(this.slice(0,ix));
input.value=decodeURIComponent(这个.slice(ix+1));
表单。追加子项(输入);
});
文件.正文.附件(表格);
表单提交();
返回false;
});
或者,如果愿意,您也可以只执行AJAX请求,然后
重新加载()
页面

但是,我不知道你为什么要这么做。通常发布的链接有什么用,除非它不是?(不仅仅是当JS被禁用/不可用时,或者当它是一个搜索引擎时,而且当用户中键单击链接或尝试右键单击书签或其他任何内容时。)


如果你想要的只是一个提交帖子表单的按钮,那么最好实际使用一个真正的表单和提交按钮,然后使用CSS重新设计它的样式,使它看起来像一个链接(如果你希望它看起来像链接的话)。

我在一个页面上有大约10个链接。当用户单击这些链接时,必须重新加载ajax

说清楚,我有类似的东西

<a href="test.php?name=one">one</a>
<a href="test.php?name=Two">Two</a>

如果启用了javascript

单击后,必须进行ajax加载

如果禁用了javascript,那么上述操作应该可以正常工作

基本上,我使用
name
来限制搜索页面的某些值

非常好的提示

我第一次尝试通过Ajax Post调用发送表单数据,然后重新加载页面,但工作不正常:

var  biq_select_val = jQuery('#biq_search_select').val();
jQuery.post(window.location.href,
        { biq_amazon_item_list_search: biq_select_val},
        function() {window.location.reload();}
    );
现在我只使用了一个:

jQuery('#biq_amazon_item_list_search_form').submit();

而且很好用。

非常感谢。成功了。Ajax和Jquery对我来说是非常新的。因此,您建议,当启用js时,使用“ajax”而不是“post”,当禁用js时,使用“get”重新加载。听起来很完美。我真的很感激。如果可能的话,你能帮我做些ajax方面的事情吗。再次感谢。有时候最简单的解决办法就是最好的。。谢谢