• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

99
Views
Python Bottle es Ninguno de React JSON

Tengo esto en React:

 const payload = { x : x, y : y } fetch("http://localhost:8080/update_game", { method: "POST", body: JSON.stringify(payload)})

Y esto en Python:

 @post('/update_game') def update_game(): req = request.json print(req);

sigo recibiendo:

 None 127.0.0.1 - - [24/Jan/2022 14:06:36] "POST /update_game HTTP/1.1" 200 0

No veo qué estaría haciendo diferente a todos los otros ejemplos que he estado encontrando. payload inicia sesión correctamente en la consola. Tengo CORS configurado y funcionando correctamente en Python. También intenté agregar contentType: application/JSON al lado de reacción. No veo qué podría estar haciendo mal aquí.

edite para mayor claridad: estoy intentando imprimir la respuesta json en la terminal en el lado de python. Simplemente quiero ver que esta respuesta está pasando.

Descubrí este pequeño fragmento, que muestra algo, pero no es correcto:

 @post('/update_game') def update_game(): req = request.forms print(dir(req)) print(dict(req)) print(req)

la salida:

 {'{"x":"0","y":"6"}': ''}

Y también tengo esto:

 def update_game(): req = request.headers['Content-Type'] # print(dir(req)) # print(dict(req)) print(req)

producción:

 text/plain;charset=UTF-8

Estoy bastante seguro de que debería ser application/JSON

about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Empezando desde cero...

 $ python3 -m venv venv $ source venv/bin/activate $ python -m pip install -U bottle

Crear app.py

 from bottle import post, request, run @post('/echo') def echo(): data = request.json print(type(data)) return data # example to return the input run(host='localhost', port=8080, debug=True)

Ejecute python app.py

Desde una nueva terminal, paso el tipo de contenido junto con una carga útil para devolver

 $ curl -H 'Content-Type: application/json' -d'{"x": 2, "y":4}' http://localhost:8080/echo {"x": 2, "y": 4}

En los registros del servidor, veo

 <class 'dict'> 127.0.0.1 - - [24/Jan/2022 17:13:38] "POST /echo HTTP/1.1" 200 16

Consulte esta publicación para enviar correctamente JSON desde Javascript sin que sea text/plain : la configuración del tipo de contenido en la solicitud de búsqueda no funciona

about 3 years ago · Juan Pablo Isaza Report

0

Encontré una solución. Esperemos que este ayude a quien tenga los mismos problemas.

 import json import io @post('/update_game') def update_game(): encoding = "UTF-8" req = json.load(io.TextIOWrapper(request.body, encoding=encoding)) print(req)
about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error