成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前后端json數(shù)據(jù)發(fā)送和接收

williamwen1986 / 3360人閱讀

摘要:前后端數(shù)據(jù)發(fā)送和接收由于筆者后臺使用的是框架接收和前端使用的是原生的和的發(fā)送,能力有限,在此僅寫下我開發(fā)項目過程中所得,歡迎指正交流。

前后端json數(shù)據(jù)發(fā)送和接收

由于筆者后臺使用的是flask框架接收和前端使用的是原生的JavaScript和jQuery的ajax發(fā)送,能力有限,在此僅寫下我開發(fā)項目過程中所得,歡迎指正交流。

一、flask中的json數(shù)據(jù)接收 1、利用flask的request.form.get()方法

Python后臺部分代碼

from flask import Flask
from flask import jsonify
from flask import request
import json
...

# 登錄
@app.route("/flask/login", methods=["POST"])
def login():
    data_ = request.form.get("data")
    data = json.loads(data)
    username = data["username"]
    password = data["password"]
    rem = False
    if data["remember"]:
        rem = True
    return jsonify({"login": Login.login(username, password, rem)})  # 返回布爾值
2、 利用flask的request.get_data()方法

Python后臺代碼

from flask import Flask
from flask import jsonify
from flask import request
import json
...

# 登錄
@app.route("/flask/login", methods=["POST"])
def login():
    data = request.get_data()
    data = json.loads(data)
    username = data["username"]
    password = data["password"]
    rem = False
    if data["remember"]:
        rem = True
    return jsonify({"login": Login.login(username, password, rem)})  # 返回布爾值
3、利用flask的request.get_json()方法

Python后臺代碼

from flask import Flask
from flask import jsonify
from flask import request

...

# 登錄
@app.route("/flask/login", methods=["POST"])
def login():
    data = request.get_json()
    username = data["username"]
    password = data["password"]
    rem = False
    if data["remember"]:
        rem = True
    return jsonify({"login": Login.login(username, password, rem)})  # 返回布爾值
二、前端發(fā)送json數(shù)據(jù) 1、原生XMLHttp發(fā)送
function login() {
    var username =document.getElementById("username").value;
    var password = document.getElementById("password").value;
    var remember =document.getElementById("remember").checked;
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        //  IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // IE6, IE5 瀏覽器執(zhí)行代碼
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState===4 && xmlhttp.status===200)
        {
           ...
        }
    };

    xmlhttp.open("POST","/flask/login",true);
    xmlhttp.setRequestHeader("Content-type","application/json");
    // 后面這兩部很重要,我看網(wǎng)上很多都是使用xmlhttp.send("username="+username+"&password="+"),這樣接收還要解析一番感覺還是直接發(fā)送以下格式的好些
    var data = {
        "username": username
        "password": password
        "remember": remember
    };
    var data_json = JSON.stringify(data);
    xmlhttp.send(data_json);
}

附:json數(shù)據(jù)解析

   var text = xmlhttp.responseText;
   //  通過eval() 方法將json格式的字符串轉(zhuǎn)化為js對象,并進行解析獲取內(nèi)容
   var result = eval("("+text+")");
   if (result) {
                
     } else {
                alert("請輸入正確的用戶名和密碼");
            }
2、ajax發(fā)送
 $(document).ready(function () {
    var data = {
    "username": "adamin",
    "password": "123456789",
    "remember": true
    }
    $.ajax({
        url: "/flask/login",
        type: "POST",
        data: data,
        success: function () {
            
        }
    })
    })

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40667.html

相關(guān)文章

  • 前后json數(shù)據(jù)發(fā)送接收

    摘要:前后端數(shù)據(jù)發(fā)送和接收由于筆者后臺使用的是框架接收和前端使用的是原生的和的發(fā)送,能力有限,在此僅寫下我開發(fā)項目過程中所得,歡迎指正交流。 前后端json數(shù)據(jù)發(fā)送和接收 由于筆者后臺使用的是flask框架接收和前端使用的是原生的JavaScript和jQuery的ajax發(fā)送,能力有限,在此僅寫下我開發(fā)項目過程中所得,歡迎指正交流。 一、flask中的json數(shù)據(jù)接收 1、利用flask的...

    Vixb 評論0 收藏0
  • Postman測試工具調(diào)試接口詳細教程【向后發(fā)送Json數(shù)據(jù)接收返回的Json結(jié)果】

    摘要:它主要是用來模擬各種請求的如等等與瀏覽器的區(qū)別在于有的瀏覽器不能輸出格式而更直觀接口返回的結(jié)果。 Postman測試工具調(diào)試接口詳細教程 簡介 Postman,...

    劉德剛 評論0 收藏0
  • 在 nodejs 中 利用 websocket 實現(xiàn)簡單的 “1對1” 消息傳遞

    摘要:為了體現(xiàn)前后端分離,提高開發(fā)效率的精髓。轉(zhuǎn)發(fā)消息服務(wù)器將收到的來自于發(fā)送方消息中的值作為要轉(zhuǎn)發(fā)的目標接收方,在服務(wù)器自身維護的對象中找到接收方的這個連接,然后將發(fā)送方的標識作為轉(zhuǎn)發(fā)給接收方。 背景 簡單的描述一下需求場景:應(yīng)用需要進行客戶端到客戶端的通信,websocket 就能很好的進行這一操作,目前 網(wǎng)易云信的 IM 等功能也是利用 websocket 進行的。 必要性 對前端開發(fā)...

    NoraXie 評論0 收藏0
  • (超簡單)ESP8266深度睡眠模式下遠程采集溫濕度信息

    摘要:超簡單深度睡眠模式下遠程采集溫濕度信息項目背景相關(guān)技術(shù)深度睡眠模式溫濕度采集數(shù)據(jù)收發(fā)前后端實現(xiàn)后端前端項目背景自己用收納箱做了一個用于存放打印耗材的干燥箱,想用閑置的開發(fā)板和溫濕度傳感器做一個遠程溫濕度監(jiān)測的小項目。 ...

    pkhope 評論0 收藏0
  • 前后通訊的幾種方式

    摘要:使用方法服務(wù)器接收其它類型的事件服務(wù)器端中在傳輸數(shù)據(jù)時將頭中的設(shè)置為使用方法屬性使用二進制的數(shù)據(jù)類型連接服務(wù)器選擇的下屬協(xié)議只讀鏈接狀態(tài)只讀未發(fā)送至服務(wù)器的字節(jié)數(shù)只讀服務(wù)器選擇的擴展只讀關(guān)閉前的回調(diào)函數(shù)連接失敗后的回調(diào)函數(shù)從服務(wù)器接受到 EventSource 使用方法 var evtSource = new EventSource(url); // 服務(wù)器URL 接收 evtSour...

    U2FsdGVkX1x 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<