Cómo recuperar Petición de Carga

Estoy usando PHP, ExtJS y ajax tienda.

Envía datos (crear, actualizar, destruir) no en el POST o GET. En el Chrome Consola veo a mi salientes parámetros como JSON en el «Solicitud de Carga campo». $_POST y $_GET están vacías.

Cómo recuperar en PHP?

InformationsquelleAutor nkuhta | 2012-03-07

2 Kommentare

  1. 237

    Si entiendo correctamente la situación, se le acaba de pasar datos json a través del cuerpo http, en lugar de application/x-www-form-urlencoded de datos.

    Usted puede obtener este tipo de datos con este fragmento de código:

    $request_body = file_get_contents('php://input');

    Si usted está pasando json, entonces usted puede hacer:

    $data = json_decode($request_body);

    $data , a continuación, contiene los datos json en php matriz.

    php://input es lo que se llama un contenedor.

    php://input es de sólo lectura, secuencia que le permite leer los datos en bruto
    del cuerpo de la solicitud. En el caso de solicitudes POST, es preferible
    el uso de php://input en lugar de $HTTP_RAW_POST_DATA como no
    dependen especial de php.directivas ini. Por otra parte, para aquellos casos en los
    $HTTP_RAW_POST_DATA no se rellena por defecto, es posiblemente una
    menos intensivo de memoria alternativa a la activación de
    always_populate_raw_post_data. php://input no está disponible con
    enctype=»multipart/form-data».

    • Pude recuperar los datos. Gracias. !
    • Muchas gracias! He estado buscando esta respuesta por días, y pensó que yo estaba loco.
    • el encabezado es application/json
    • Luego de esta respuesta se aplica.
    • sí.así que +1
    • Si está usando Laravel simplemente crear una función auxiliar que 1. recupera esta cadena y 2. json_decodes ella. Entonces no va a ser diferente de una matriz de Entrada::all(); Por un lado no es probable que esto funciona para todos los demás.
    • Usted ha hecho mi día! He estado luchando con js+php para siempre! Muchas gracias. Lo siento por offtop.

  2. 11

    También puede configurar extJs writer con codificar: true y enviará datos con regularidad (y, por lo tanto, usted será capaz de recuperar los datos a través de $_POST y $_GET).

    … los valores se enviará como parte de los parámetros de la petición como
    en oposición a una raw post (a través de docs para codificar de configuración de Ext.de datos.escritor.Json)

    ACTUALIZACIÓN

    También docs decir que:

    La codificación opción sólo se debe establecer en true cuando la raíz se define

    Así que, probablemente, writer‘s root config es necesario.

    • codificar :true – nada ha cambiado. Mismo método de envío.
    • te has fijado writer‘s de la raíz config? Es posible que se requiera. encode no funciona para mí imageshack.us/f/32/20120308153201.png

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea