Flask處理前端POST過來的JSON資料

2022-05-09 22:24:32 字數 1924 閱讀 6093

post json資料的js**:

$.ajax(),

success:

function

(data)

})

對於前端post請求傳送過來的json資料,flask後台可使用request.get_data()來接收資料,資料的格式為 bytes;加上as_text=true 引數後就變成 unicode 了; 再使用 json.loads() 方法就可以轉換字典。

示例**:

from flask import

flask, render_template, request, make_response

import

json

import

light_calc )

'/', methods=['

post

', '

get'

])def

main():

return render_template('

test_inputs.html')

'/calc

', methods=['

post'])

defcalc():

data_list =

data = json.loads(request.get_data(as_text=true)) #

request.get_data(as_text=true) : 獲取前端post請求傳過來的 json 資料

for key, value in

data.items():

if value == ''

: data[key] =0

for key, value in

data.items():

if type(value) == str and value != 'i'

: data[key] =float(value)

for i in data['

data_list']:

new_dict ={}

new_dict['r

'] = float(i['r'

]) new_dict['d

'] = float(i['d'

]) new_dict['n

'] = float(i['n'

]) new_dict[

'n_2

'] = float(i['

n_2'

])

print

(data)

print

(data_list)

try:

result = light_calc.main(data['

d'], data['

q'], data['

ls'], data['

lz'], data['

uz'], data['

l'], data['

u'], data['y'

], data['p

'], data['h1'

], data_list)

resp =make_response(result)

resp.headers[

'content-type

'] = '

text/json

'return

result

except

exception as e:

print

(e)

return''

if__name__ == '

__main__

':

flask 處理post方法遇到的乙個問題

最近通過flask編寫乙個web程式,在通過requests模組對restful介面進行測試時,遇到了乙個問題,在這裡記錄下。通過requests進行post提交資料時,後台無法獲取到對應的引數。tx requests.post x data 1.1 後台報400錯誤。400錯誤表示 由於語法格式有...

flask快取處理

1.安裝依賴 pip install flask caching 1.7.22.需要快取處理業務 主要用在資料庫多次查詢,資料庫幾乎不修改情況下3.新建檔案,比如extensions.py 快取物件 from flask caching import cache cache cache 4.配置檔案...

flask異常處理

在view函式中,如果需要中斷request,可以使用abort 500 或者直接raise exception。當然我們還需要返回乙個出錯資訊給前端,所以需要定製一下errorhandler。一般只需要兩個handler即可,乙個是404錯誤,乙個是500一類的伺服器端錯誤。當然也可以自定義錯誤。...