Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
Enviar XMLHttpRequest POST a python cgi

Estoy enviando una cadena de texto desde javascript a un programa cgi python3. Usuario iniciando el envío con un botón.

Con el código simplificado que hice a continuación, el servidor parece reconocer el POST pero el cgi no se ejecuta. (no se muestra ninguna salida). Sin embargo, si actualizo la página donde está mi botón, la salida del programa cgi ahora se muestra en stderr. Comportamiento extraño.

¿Algún consejo?

Estoy usando un servidor python cgi.

 python3 -m http.server --cgi 8000

el archivo html:

 <html> <head> <script> function post_data(){ var xhr = new XMLHttpRequest(); xhr.open("POST", "/cgi-bin/cgi.py"); xhr.setRequestHeader('Content-Type', 'text/html'); xhr.send("hello world"); xhr.onload = function() { console.log(`Loaded: ${xhr.status} ${xhr.response}`); }; xhr.onerror = function() { console.log(`Network Error`); }; } </script> <body> <button type="button" class="btn btn-primary" onclick="post_data()">Send</button> </body></html>

El cgi de pitón:

 #!/usr/bin/python3 import sys sys.stderr.write(sys.stdin.read()) print("Content-Type: text/html\n\n") print("<html><body>ok</body></html>")

La salida una vez que se hace clic en el botón:

 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ... 127.0.0.1 - - [15/Oct/2021 17:03:38] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [15/Oct/2021 17:03:39] "POST /cgi-bin/cgi.py HTTP/1.1" 200 -

después de actualizar la página, aparece este resultado adicional:

 hello world127.0.0.1 - - [15/Oct/2021 17:04:03] "GET / HTTP/1.1" 304 -
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda