【前端】前後端互動重點Ajaxの介紹及實戰

語言: CN / TW / HK
ead>

持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第23天,點選檢視活動詳情

第一部分:JSON簡介

```html

JSON

```

效果展示:

在這裡插入圖片描述

第二部分:前後互動

1.此處介紹前後互動的兩種方式:

(1)利用form表單裡的name屬性進行前後端互動

One:

小提示: import tornado.web 檢視其原始碼:26-38行為tornado版本的hello world,拿過來改改就好了~

HTML程式碼:

```python

前後互動--form表單

使用者名稱:
密 碼:

```

Python程式碼:

```python import tornado.web

import tornado.ioloop import tornado.web

class MainHandler(tornado.web.RequestHandler): def get(self): self.render("Ajax_form.html")

def post(self, *args, **kwargs):        #此處的用post還是get取決於HTML檔案中form表單的method屬性(二者一樣)
    #通過列印在控制檯進行檢視,有沒有成功從前端拿到資訊
    print(self.get_argument("user"))    #.get_argument()拿到的是單個的引數,引數是form表單裡name屬性的屬性值。
    print(self.get_argument("pwd"))
    self.write("提交成功!")

if name == "main": application = tornado.web.Application([ (r"/", MainHandler), #需要和form表單裡的action一致。 ]) application.listen(8888)
tornado.ioloop.IOLoop.current().start() ```

拓展: 如果報錯:NotImplementedError 看本文:許可權問題, 評論區溝通。

如何實現:

首先:執行.py檔案 無報錯後,執行HTML檔案 然後將前端介面的位址列改為:127.0.0.1:8888並回車 無報錯即為轉發成功 最後輸入使用者名稱和密碼,並點選提交按鈕,即可在pycharm控制檯顯示使用者名稱和密碼。

效果展示:

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

(2)利用AJAX進行前後端互動

  1. Ajax功能? 利用form表單進行前後端互動(傳統互動模式)在提交時會進行整個頁面的重新整理; 而利用AJAX則是進行非同步載入,可以在不過載整個頁面的前提下進行區域性重新整理
  2. 什麼是Ajax? 全稱 Ansync JavaScript and XML,是一門非同步的載入技術,區域性重新整理。

  3. Ajax怎麼用? Ajax的使用分為原生和jq(Jquery)兩種。原生的不咋用看,所以下面就講下JQ的。

(1)JQ版本的Ajax:

python程式碼:

```python import tornado.web

import tornado.ioloop import tornado.web

class MainHandler(tornado.web.RequestHandler): def get(self): self.render("ajax_jquery.html")

def post(self, *args, **kwargs):
    aaa = int(self.get_argument("aa"))
    bbb = int(self.get_argument("bb"))
    c = aaa + bbb
    # 將後臺處理過後的前端的資料回顯到前端
    return_data = {"result":c}             #將需要傳輸的資料構造成JSON物件
    self.write(return_data)                #將後臺需要傳遞給前端的資料回顯給前端

if name == "main": application = tornado.web.Application([ (r"/", MainHandler), ]) application.listen(8880)
tornado.ioloop.IOLoop.current().start() ```

如果報上面說的報錯,就加入以下程式碼:

```python

windows 系統下 tornado 使用 SelectorEventLoop

import platform

if platform.system() == "Windows": import asyncio

asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

```

HTML程式碼:

```python

Ajax_jquery

AJAX + JQUERY 實現前後互動

+ =

```

粗略講下同步非同步:

同步:向伺服器傳送請求之後,需要等待伺服器響應結束完畢,才能傳送第二個請求。如果沒有等待伺服器響應結束就傳送別的請求,會出現卡頓現象。 非同步:向伺服器傳送請求之後,可以直接傳送別的請求,它們之間沒有任何干擾。可以實現區域性重新整理。

效果展示:

在這裡插入圖片描述

🔆In The End!

👑有關於Me

個人簡介:我是一個硬體出身的計算機愛好者,喜歡program,源於熱愛,樂於分享技術與所見所聞所感所得。文章涉及Python,C,微控制器,HTML/CSS/JavaScript及演算法,資料結構等。

| 從現在做起,堅持下去,一天進步一小點,不久的將來,你會感謝曾經努力的你! | | ------------------------------------ |

認真仔細看完本文的小夥伴們,可以點贊收藏並評論出你們的讀後感。並可關注本博主,在今後的日子裡閱讀更多技術文哦~

如有錯誤或者言語不恰當的地方可在評論區指出,謝謝!\ 如轉載此文請聯絡我徵得本人同意,並標註出處及本博主名,謝謝 !