por parametros metodo hacer example español enviar con como php json rest postman

php - parametros - Enviar datos POST a través de JSON sin procesar con cartero



postman post json object (5)

Tengo Postman (el que no se abre en Chrome) y estoy tratando de hacer una solicitud POST usando json sin formato.

En la pestaña Cuerpo, he seleccionado "sin procesar" y "JSON (aplicación / json)" con este cuerpo:

{ "foo": "bar" }

Para el encabezado tengo 1, Content-Type: application/json

En el lado de PHP, solo estoy haciendo print_r($_POST); por ahora, y estoy obteniendo una matriz vacía.

Si uso jQuery y hago:

$.ajax({ "type": "POST", "url": "/rest/index.php", "data": { "foo": "bar" } }).done(function (d) { console.log(d); });

Estoy obteniendo lo esperado:

Array ( [foo] => bar )

Entonces, ¿por qué no funciona con Postman?

Capturas de pantalla del cartero:

y encabezado:


A diferencia de jQuery para leer JSON procesar, deberá decodificarlo en PHP.

print_r(json_decode(file_get_contents("php://input"), true));

php://input es una secuencia de solo lectura que le permite leer datos sin procesar del cuerpo de la solicitud.

$_POST son variables de formulario, deberá cambiar para form botón de radio en postman luego usar:

foo=bar&foo2=bar2

Para publicar json procesar con jquery :

$.ajax({ "url": "/rest/index.php", ''data'': JSON.stringify({foo:''bar''}), ''type'': ''POST'', ''contentType'': ''application/json'' });


Estaba enfrentando el mismo problema, el siguiente código funcionó para mí:

$params = (array) json_decode(file_get_contents(''php://input''), TRUE); print_r($params);


Instale la aplicación nativa Postman, la extensión de Chrome ha quedado en desuso. (La mía se abría en su propia ventana pero aún se ejecutaba como aplicación de Chrome)


La respuesta de Meda es completamente legítima, pero cuando copié el código, recibí un error.

En algún lugar de la "php://input" hay un carácter no válido (¿quizás una de las comillas?).

Cuando escribí el código "php://input" manualmente, funcionó. ¡Me tomó un tiempo descubrirlo!


Simplemente marque la opción JSON en el menú desplegable junto a binario; cuando haces clic en raw. Esto debería hacer