如果要处理javascript的ajax请求,用python做后台语言应该怎么写?用python的框架flask呢?

查看:97
本文介绍了如果要处理javascript的ajax请求,用python做后台语言应该怎么写?用python的框架flask呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在用户注册的时候,想用ajax方式验证用户输入的账号是否被占用,可是服务器端不知道怎么用python实现。
我最近在学python的框架flask,用flask应该怎么写,用原生python的方式又该怎么写?

具体功能:

  1. python检查用户输入的用户名,如果该用户名在数据库中存在,返回no。如果不是,返回ok。

  2. 这边的javascript的回调函数检查服务器端返回的字符,如果是ok,在输入框旁显示已用户名可用。如果不是ok,显示用户名已被占用。

这是我前台的javascript,已经实现了上述的第2个功能。

function initPage() {
  document.getElementById("username").onblur = checkUsername;
  document.getElementById("register").disabled = true;
}

function checkUsername() {
  document.getElementById("username").className = "thinking";
  request = createRequest();
  if (request == null)
    alert("Unable to create request");
  else {
    var theName = document.getElementById("username").value;
    var username = escape(theName);
    var url= "checkName.php?username=" + username;
    request.onreadystatechange = showUsernameStatus;
    request.open("GET", url, true);
    request.send(null);
  }
}

function showUsernameStatus() {
  if (request.readyState == 4) {
    if (request.status == 200) {
      if (request.responseText == "okay") {
        document.getElementById("username").className = "approved";
        document.getElementById("register").disabled = false;
      } else {
        document.getElementById("username").className = "denied";
        document.getElementById("username").focus();
        document.getElementById("username").select();
        document.getElementById("register").disabled = true;
      }
    }
  }
}

下面是用flask简单地模拟验证的过程,可是访问主页后返回是一个字符。我想实现的是在index页面上输入框中输入文字,然后进行响应。现在页面直接变成了一个字符。

from flask import Flask,request,render_template

app = Flask(__name__)

@app.route('/',methods=['POST','GET'])
def index():
    data_set = ['bill','ted']
    searchword = request.args.get('username')
    if searchword not in data_set:
        return 'okay'
    return render_template('registration.html')


if __name__=='__main__':
    app.run()
    
 

解决方案

前后台分离了,那Python后台需要实现Restful API。
比如:

前后台用这个接口来交互。前台你已经写好了。
后台你可以使用Python的框架Django,Flask或者Paramid。

  • Django: Django Restful Framework

  • Flask: Flask-Restful

  • Paramid: paramid-restful-toolkit

这篇关于如果要处理javascript的ajax请求,用python做后台语言应该怎么写?用python的框架flask呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆