创新互联Python教程:python和js如何交互

后台代码都是利用的

创新互联致力于网站设计、网站制作,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!

1.【get方式】使用jquery的get json与后台交互

  前端js代码片段

var data= {
                    'a': $('input[name="a"]').val(),
                    'b': $('input[name="b"]').val()
                }
                $.getJSON($SCRIPT_ROOT + '/_add_numbers',data, function(data) {
                    $('#result').text(data.result);
                    $('input[name=a]').focus().select();
                });

后端pthon代码如下

# ajax,Get方式与js交互(非表单)采用了flask框架@app.route('/_add_numbers')def add_numbers():
    """Add two numbers server side, ridiculous but well..."""
    a = request.args.get('a', 0, type=int)
    b = request.args.get('b', 0, type=int)
    log.info(a)
    log.info(b)    return jsonify(result=a + b)

2.【万能方式】使用jquery的ajax与后台交互,设置不同的参数,可以get也可以post

上面的例子用ajax方式,前端代码如下

 var data= {
                    'a': $('input[name="a"]').val(),
                    'b': $('input[name="b"]').val()
                }
{#                $.getJSON($SCRIPT_ROOT + '/_add_numbers',data, function(data) {#}
{#                    $('#result').text(data.result);#}
{#                    $('input[name=a]').focus().select();#}
{#                });#}

                $.ajax({
                    type: 'get',
                    url: $SCRIPT_ROOT + '/_add_numbers',
                    data: data,
                    contentType: 'application/json; charset=UTF-8',
                    dataType: 'json',
                    success: function(data) {
                        $('#result').text(data.result);
                        $('input[name=a]').focus().select();
                    },
                    error: function(xhr, type,xxx) {
                        alert('error ')
                    }
                });

后台代码不便依然是

# ajax,Get方式与js交互(非表单)@app.route('/_add_numbers')def add_numbers():
    """Add two numbers server side, ridiculous but well..."""
    a = request.args.get('a', 0, type=int)
    b = request.args.get('b', 0, type=int)
    log.info(a)
    log.info(b)    return jsonify(result=a + b)

3.用ajax补充一个post方式的例子

 前端js如下

function testmethod ()
        {
            alert('rabbit');
            var data = {
                "name": "test"
            }
            $.ajax({
                type: 'POST',
                url: '/login',
                data:data,
                contentType: 'application/json; charset=UTF-8',
                dataType: 'json',
                success: function(data) {
                    $('#result').text(data.username);
                },
                error: function(xhr, type) {
                    alert('error ')
                }
            });
        }

后台代码如下:

# ajax  ,post方式与js交互(表单提交)
@app.route('/login',methods=['POST'])
def login():
    log.info('lalal')
    return jsonify(username='xixi',pwd='123')

这样就很轻松的实现了前端与后台的交互

本质上,前端与后端交互都是通过json完成的

至于表单提交,就不需要写js了,在form表单里面有有一个submit类型按钮,点击时,会自动提交到后台对应的路由上进行处理。对于表单提交,后台可以用

s=request.form.get('username',None)

来捕捉前端网页的值。但是如果是非表单提交,则需要用js获取值后,通过data参数传入到后端才行。

文章题目:创新互联Python教程:python和js如何交互
文章出自:http://www.mswzjz.cn/qtweb/news17/294417.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能