如何使用参数和POST方法重定向到外部URL? [英] How to redirect to an external url with parameters and POST method?

查看:55
本文介绍了如何使用参数和POST方法重定向到外部URL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要先保存表单数据,然后再提交到烧瓶中的操作网址

I want save form data before submit to action url in flask

<form action="" method="POST">
    <input type="hidden" name="PAYEE_ACCOUNT" value="U1234567">
    <input type="hidden" name="PAYEE_NAME" value="Name">
    <input type="text"   name="PAYMENT_AMOUNT">
    <input type="submit" name="PAYMENT_METHOD" />
</form>

我可以提交此表单,但是我想在提交之前保存表单数据

I can submit this form, but i want save form data before submit

查看:

@mod.route('/payment/', methods=['GET', 'POST'])
def payment():
    if request.method != "POST":
        return render_template('form.html')

    form = request.form

    form_data = {'PAYEE_ACCOUNT': form['PAYEE_ACCOUNT'],
                 'PAYEE_NAME': form['PAYEE_Name'],
                 'PAYMENT_AMOUNT' : form['PAYMENT_AMOUNT']
                 }

    # Save Data

    import urllib
    params = urllib.urlencode(form_data)

    url = 'http://www.example.com'
    return redirect(url, params)

请帮助我

推荐答案

我已经通过使用JavaScript解决了这个问题.

I've solved this problem by using JavaScript.

首先,将数据发送到服务器.

First, sending the data to server.

JavaScript代码:

JavaScript code:

<script type="text/javascript">
  var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};

  $(function() {
    $('#PAYMENT_METHOD').bind('click', function() {
      $.getJSON($SCRIPT_ROOT +'/credit/save_transaction', {
        PAYMENT_ID: $('input[name="PAYMENT_ID"]').val(),
        PAYMENT_AMOUNT: $('input[name="PAYMENT_AMOUNT"]').val(),
        SUGGESTED_MEMO: $('input[name="SUGGESTED_MEMO"]').val()
      }, function(data) {
         if (data.result == 'ok') {
            $('#form_payment').submit();
         }
      });
      return false;
    });
  });
</script>

然后,保存数据并返回结果.

Then, saving the data and returning result.

查看代码:

@mod.route('/save_transaction', methods=['GET', 'POST'])
def save_transaction():
    follow_num = request.args.get('PAYMENT_ID')
    amount = request.args.get('PAYMENT_AMOUNT')
    memo = request.args.get('SUGGESTED_MEMO')

    #Save Data

    return jsonify(result='ok')

这篇关于如何使用参数和POST方法重定向到外部URL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆