不允许的方法所请求的URL POST请求不允许使用该方法

时间:2020-05-11 12:44:09

标签: javascript html flask

我正在尝试通过烧瓶获取POST请求。 它从.py文档中获取数据(工作正常。正在以我想要的方式在表中显示) 但不要让我发布它。我总是会收到错误:

方法不允许 所请求的URL不允许使用该方法。

控制台:“ POST / HTTP / 1.1” 405-

我的JavaScript代码:

  function addUserList() {
    var xhttp = new XMLHttpRequest();
    xhttp.open("POST", '/api/users', true);
    xhttp.onload = function() {
      if (xhttp.readyState == 4 && xhttp.status == 201) {
        alert("user created")
      }
      else{alert("Error")
    }
  };

    data = {fname: "Henry", lname: "Ford"}
    stringdata = stringify(data)

    console.log("function add user triggered")

    xhttp.send(stringdata);

}

和我的主要app.py:

def getUserList():
   if request.method =='GET': 
       return jsonify({"data": userlist})
   if request.method =='POST': 
       repobj = json.loads(request.data)
       user = repobj['fname']
       user1 = repobj['lname']

       newid = userlist[-1]["id"]
       newuser = {"id":newid +1,
                  "avatar":"https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg",
                  "first_name":user,
                  "last_name":user1,
                  "email":"george.bluth@reqres.in",
                  "job": "Doctor"}
       userlist.append(newuser)
       resp = make_response("", 201)
       return resp

现在我正在尝试对fname和lname进行硬编码,以查看其是否正常工作。

我是Flask的新手!

谢谢!

1 个答案:

答案 0 :(得分:0)

在定义函数 fonction_principale = function(alpha_1,alpha_2,alpha_3,alpha_4,alpha_5){ ########### #PREREQUIS# ########### source("C:/Users/François/Desktop/CODE/code_blocs/bloc_prerequis.R") ###################### #BOUCLES RATIO ET NUM# ###################### source("C:/Users/François/Desktop/CODE/code_blocs/bloc_boucles.R") ######################################## #FUSION DES 3 RESULTATS : TABLEAU FINAL# ######################################## source("C:/Users/François/Desktop/CODE/code_blocs/bloc_fusion.R") ######################## #CALCUL DE L'INDICATEUR# ######################## #on initialise iii à 0 source("C:/Users/François/Desktop/CODE/initialisation/iii.R") #on charge la fonction calcul_indic source("C:/Users/François/Desktop/CODE/fonctions/calcul_indic.R") #on charge la valeur des alphas (poids) #source("C:/Users/François/Desktop/CODE/initialisation/alphas.R") alpha1 = alpha_1 alpha2 = alpha_2 alpha3 = alpha_3 alpha4 = alpha_4 alpha5 = alpha_5 #création de la variable indicateur et injection des données dans le tableau #et affichage du tableau final avec la variable indicateur #source("C:/Users/François/Desktop/CODE/code_blocs/bloc_injection.R") for(iii in 1:dim(tableau_final)[1]){ tableau_final$indicateur[iii] = calcul_indic(tableau_final,alpha1,alpha2,alpha3,alpha4,alpha5) } ############################################################## #FONCTION COMPARAISON DES MODELES SUR LA BASE DE L'INDICATEUR# ############################################################## #on charge la fonction de comparaison des modeles #source("C:/Users/François/Desktop/CODE/fonctions/compar_model.R") compar_model = function(Tableau_gen){ indic_min <- select(Tableau_gen, type_modele, modele, indicateur) indic_min = filter(indic_min, indicateur == min(indicateur)) return(indic_min) } #on teste la fonction sur le tableau final (resultats des 3 modeles) compar_model(tableau_final) return(compar_model(tableau_final)) } fonction_principale(0.2,0.2,0.4,0.6,0.8) 的app.py中,必须在括号中添加:getUserList。 Flask自动处理方法methods="GET", "POST",但是如果您明确地说该函数可以处理方法,则只能使用方法GET。它将最终显示为:POST