jquery – 同步提交(不是ajax)

前端之家收集整理的这篇文章主要介绍了jquery – 同步提交(不是ajax)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个页面(第1页)接受发布的请求,做一些东西并显示一些数据到最后.

从另一个页面(第2页),当点击一个按钮时,我想重定向到第1页,当然通过POST发送第1页所需的所有相关数据.

当然,我可以使用页面上隐藏形式的老黑客,填写所有使用jQuery的数据,只要用户点击按钮,然后自动提交().
但是这看起来很麻烦 – 使用类似于$.post的语法,而不是开始操纵html,这更好. $.post将是完美的,它是否实际重定向页面,而不是异步地发出请求(在第1页需要数据显示的东西之后,我不能重定向到第1页,因为ajaxy的帖子已经完成.

有没有办法用jquery做我想要的,还是丑陋的隐形形式唯一的出路?

P.S

我知道有其他令人振奋的方式来实现我想要的,例如使用$.post,并在我们目前的页面上种植回复的html,但我只是想知道是否有一个简单的方法来做这个jquery

解决方法

这给了我一个想法,一个jQuery函数来模仿$.post行为,如你所描述的.它仍然在后台使用不可见的形式,但它的语法相对干净直接.
$(document).ready(function(){
    $('#myButton').PostIt('post.PHP',{foo:'bar',abc:'def',life:42});
    $('#myOtherButton').PostIt('post.PHP',dataObjectFromSomewhereElse);
});

$.fn.PostIt = function(url,data){

  $(this).click(function(event){

        event.preventDefault();

        $('body').append($('<form/>',{
          id: 'jQueryPostItForm',method: 'POST',action: url
        }));

        for(var i in data){
          $('#jQueryPostItForm').append($('<input/>',{
            type: 'hidden',name: i,value: data[i]
          }));
        }

        $('#jQueryPostItForm').submit();
    });
}

猜你在找的jQuery相关文章