AnswerBun.com

PHP não recebe POST Json

Stack Overflow em Português Asked by Weverton on November 27, 2020

Estou tentando criar uma função de envio via Ajax com JavaScript puro, porém o PHP não recebe os dados.

O JavaScript está enviando os dados corretamente.

Código JavaScript:

    this._data = JSON.stringify(data);
    Object.freeze(this);

    function reqListener() {
        console.log(this.responseText);
    };

    let request = new XMLHttpRequest();
    request.onload = reqListener;;
    request.open('POST', '/api');
    request.setRequestHeader('Content-Type', 'application/json;');
    request.send(this._data);

Eu tentei usar application/x-www-form-urlencoded também sem sucesso.

Código PHP:

$jSon = array(); 
$getPost = file_get_contents('php://input');
$post = json_decode($getPost);
echo json_encode($jSon);    

O objetivo destes códigos é enviar um JSON via Ajax e o PHP retornar ele mesmo.

2 Answers

Troquei: this._data = JSON.stringify(data); Por: var json_data = JSON.stringify(data);

Deu certo aqui

Answered by André Moreira on November 27, 2020

Você possui um exemplo quase funcional, exceto por dois detalhes (object freeze no javascript e usar uma variável vazia no json_encode). Executando o exemplo mínimo tudo executa como o esperado. Veja:

<script>
    var data = { "name":"John", "age":30, "city":"New York"};
    this._data = JSON.stringify(data);
    //Object.freeze(this);

    function reqListener() {
    console.log(this.responseText);
    };

    let request = new XMLHttpRequest();
    request.onload = reqListener;;
    request.open('POST', '/stackoverflow.php');
    request.setRequestHeader('Content-Type', 'application/json;');
    request.send(this._data);
</script>

Já no php:

<?php
$jSon = array(); 
$getPost = file_get_contents('php://input');
$jSon = json_decode($getPost);
echo json_encode($jSon);

Olhando no depurador do navegador dá para perceber que os dados enviados são retornados pelo script em php.

Answered by Juven_v on November 27, 2020

Add your own answers!

Related Questions

Separando números em listas pares e ímpares – Python

3  Asked on September 27, 2021 by user197613

   

O que é um label em C?

1  Asked on September 27, 2021

     

Erro na criação de tabela (ORA-00904)

1  Asked on September 27, 2021 by ketts

   

Referenciar uma coluna de cores com base em outra

2  Asked on September 27, 2021 by thiago-fernandes

   

Como verificar se um processo esta rodando no servidor?

1  Asked on September 27, 2021 by edu-mendona

   

Para que serve o método Function.prototype.call()?

2  Asked on September 26, 2021 by felipe-cardozo

   

Passar estado entre componentes sem hierarquia

1  Asked on September 26, 2021 by beatriz-cibele

   

Não consegui entender bem como esse código funciona

1  Asked on September 26, 2021 by yasmin-teixeira

 

Como acessar pastas e copiar os arquivos em Python?

1  Asked on September 26, 2021 by hendrik

 

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir