Alors que sur localhost, j'ai téléchargé Flask-Cors. J'ai essayé d'envoyer quelques requêtes pour flasher le serveur car le code sous le code entier est sur github.Pourquoi ma requête API retourne-t-elle des valeurs vides pour chaque argument POST?
Malheureusement, je ne peux pas obtenir de données en utilisant la requête POST.
Voici mon code ELM.
module Update exposing (update)
import Http
import Json.Decode exposing (..)
import Types exposing (..)
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of Username str -> ({ model | loginUserName = str}, Cmd.none)
Password str -> ({ model | loginPassword = str}, Cmd.none)
Login -> (model, login model.loginUserName model.loginPassword)
LoginResult (Ok username) -> ({ model | user = LoggedInUser { userName = username}},
Cmd.none)
LoginResult (Err _) -> (model, Cmd.none)
Logout -> (model, Cmd.none)
login : String -> String -> Cmd Msg
login username password =
let url = "http://0.0.0.0:8080/api/user/login"
request = Http.get url decodeLogin
in Http.send LoginResult request
decodeLogin: Decoder String
decodeLogin = at ["username"] string
-- Or
--decodeLogin : Decoder String
--decodeLogin = decodeString (field "username" string)
Le reste du code est à Github
Voici mon point de terminaison Flask pour l'API
@app.route("/api/user/login/", methods=["GET", "POST"])
def login(*args, **kwargs):
print 'Got request for login'
print args
print kwargs
print request.args
print request.args.get("username")
print request.values.get("username")
print request.method
print request.form['username']
response = {'username': 'Erik'}
dict = request.args
for key in dict:
print 'form key ' + dict[key]
return jsonify(response)
Le reste de ce code est également at this link
.