用JavaScript / jQuery重定向发送POST数据?

这个问题在这里已经有了答案:

  • JavaScript发布请求,如表单提交26个答案

  • 构建并填写一个隐藏的method=POST action="http://example.com/vote"表单并提交它,而不是使用window.location


    per @ Kevin-Reid的答案,这里是“我最终做了下面的例子”,避免需要命名,然后通过专门构建表单(使用jQuery)来再次查找表单对象。

    var url = 'http://example.com/vote/' + Username;
    var form = $('<form action="' + url + '" method="post">' +
      '<input type="text" name="api_url" value="' + Return_URL + '" />' +
      '</form>');
    $('body').append(form);
    form.submit();
    

    这是一个简单的小函数,只要你使用jQuery就可以应用到任何地方。

    var redirect = 'http://www.website.com/page?id=23231';
    $.redirectPost(redirect, {x: 'example', y: 'abc'});
    
    // jquery extend function
    $.extend(
    {
        redirectPost: function(location, args)
        {
            var form = '';
            $.each( args, function( key, value ) {
                value = value.split('"').join('"')
                form += '<input type="hidden" name="'+key+'" value="'+value+'">';
            });
            $('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
        }
    });
    
    链接地址: http://www.djcxy.com/p/21917.html

    上一篇: Send POST data on redirect with JavaScript/jQuery?

    下一篇: matplotlib: put legend symbols on the right of the labels