溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python和js怎么交互

發(fā)布時(shí)間:2022-06-02 16:23:17 來(lái)源:億速云 閱讀:518 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“python和js怎么交互”,在日常操作中,相信很多人在python和js怎么交互問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python和js怎么交互”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

1.【get方式】使用jquery的get json與后臺(tái)交互

  前端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.【萬(wàn)能方式】使用jquery的ajax與后臺(tái)交互,設(shè)置不同的參數(shù),可以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 ')
                    }
                });

后臺(tái)代碼不便依然是

# 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補(bǔ)充一個(gè)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 ')
                }
            });
        }

后臺(tái)代碼如下:

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

這樣就很輕松的實(shí)現(xiàn)了前端與后臺(tái)的交互

本質(zhì)上,前端與后端交互都是通過(guò)json完成的

至于表單提交,就不需要寫js了,在form表單里面有有一個(gè)submit類型按鈕,點(diǎn)擊時(shí),會(huì)自動(dòng)提交到后臺(tái)對(duì)應(yīng)的路由上進(jìn)行處理。對(duì)于表單提交,后臺(tái)可以用

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

來(lái)捕捉前端網(wǎng)頁(yè)的值。但是如果是非表單提交,則需要用js獲取值后,通過(guò)data參數(shù)傳入到后端才行。

到此,關(guān)于“python和js怎么交互”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI