代码之家  ›  专栏  ›  技术社区  ›  Justin Dearing

使用JQuery对POST变量执行GET请求

  •  1
  • Justin Dearing  · 技术社区  · 17 年前

    我想从onclick事件调用一个url,并将其传递给POST变量。我不想通过隐藏输入和表单提交来实现这一点。当然,我想使用jquery来实现这一点。

    url必须加载到弹出窗口中。

    问题是,既然我是jquery的新手,怎么做?

    2 回复  |  直到 17 年前
        1
  •  3
  •   nickf    17 年前

    看一看 $.post 作用这将向您选择的URL发送AJAX请求,但与常规表单提交不同,它不会重新加载或更改当前页面。


    编辑回复评论:
    你可以通过动态创建一个表单,每个变量都有一个隐藏的输入,来规避这个问题。将表单的目标设置为“_blank”,然后提交,这将在新窗口中打开另一页。

    $('#myLink').click(function() {
        var $f = $('<form></form>')
            .attr({
                method : 'post',
                target : '_blank',
                action : 'myOtherPage.php'
            })
            .appendTo(document.body)
        ;
        var myHiddenVariables = {
            id : 17,
            name : "Joe Bloggs"
        };
        for (var i in myHiddenVariables) {
            $('<input type="hidden" />')
                .attr({
                    name : i,
                    value : myHiddenVariables[i]
                })
                .appendTo($f)
            ;
        }
        $f[0].submit();
        return false;
    });
    
        2
  •  0
  •   Jataro    17 年前

    下面将使用两个参数向服务器发送一篇AJAX帖子。在回调函数中,它打开一个弹出窗口,并用返回的html填充它。

    
    $("#aLink").click(function()
    {
        $.post("some_url", {param1:"foo", param2:"bar"}, function(html)
        {
            newWindow= window.open ("","newwindow","menubar=1,resizable=1,width=350,height=250");
            newWindow.document.write(html);
        });
    
        return false;
    });
    
    
    推荐文章