最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python和js如何交互

    正文概述    2020-03-28   257

    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和js如何交互

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元