How to retrieve Request Payload

后端 未结 2 1676
梦如初夏
梦如初夏 2020-11-27 10:04

I\'m using PHP, ExtJS and ajax store.

It sends data (on create, update, destroy) not in POST or GET. In the

相关标签:
2条回答
  • 2020-11-27 11:00

    If I understand the situation correctly, you are just passing json data through the http body, instead of application/x-www-form-urlencoded data.

    You can fetch this data with this snippet:

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

    If you are passing json, then you can do:

    $data = json_decode($request_body);
    

    $data then contains the json data is php array.

    php://input is a so called wrapper.

    php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST requests, it is preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype="multipart/form-data".

    0 讨论(0)
  • 2020-11-27 11:07

    Also you can setup extJs writer with encode: true and it will send data regularly (and, hence, you will be able to retrieve data via $_POST and $_GET).

    ... the values will be sent as part of the request parameters as opposed to a raw post (via docs for encode config of Ext.data.writer.Json)

    UPDATE

    Also docs say that:

    The encode option should only be set to true when a root is defined

    So, probably, writer's root config is required.

    0 讨论(0)
提交回复
热议问题