manejar solicitud json en PHP

Al realizar una llamada ajax, cuando contentType está configurado en application / json en lugar del código predeterminado x-www-form-urlencoded, el lado del servidor (en PHP) no puede obtener los parámetros de publicación.
en el siguiente ejemplo de trabajo, si configuro contentType en "application / json" en la solicitud ajax, PHP $ _POST estaría vacío. ¿Por qué pasó esto? ¿Cómo puedo manejar una solicitud donde contentType es application / json correctamente en PHP?

$.ajax({
    cache: false,
    type: "POST",
    url: "xxx.php",
    //contentType: "application/json",
    processData: true,
    data: {my_params:123},
    success: function(res) {},
    complete: function(XMLHttpRequest, text_status) {}
});

Respuestas a la pregunta(4)

Su respuesta a la pregunta