manipular solicitação json em PHP

Ao fazer uma chamada ajax, quando contentType estiver definido como application / json, em vez do código x-www-form-urlencoded padrão, o lado do servidor (em PHP) não poderá obter os parâmetros de postagem.
no exemplo de trabalho a seguir, se eu definir o contentType como "application / json" na solicitação ajax, o PHP $ _POST estará vazio. Por que isso acontece? Como posso lidar com uma solicitação em que contentType é application / json corretamente no 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) {}
});

questionAnswers(4)

yourAnswerToTheQuestion