Мой JQuery.ajax запрос POST-данных в PHP не может получить - PullRequest
0 голосов
/ 30 сентября 2019

Я использую свой jQuery ajax для запроса бэкэнда PHP:

    jQuery.ajax({
        url: url,
        type: "POST",
        data: {
            qn_action: 'bmc',
            action: 'productdetails',
            id: 772,
            server_name: 'LL-01',
            tblclients_id: 1,
            bmc_action: 'on',
        },
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data, textStatus){

            console.log('ldl:',data)

        },
        error: function(jqXHR, e) {
            var msg = '';
            if(jqXHR.status==0){
                msg = 'You are offline!!\n Please Check Your Network.';
            }else if(jqXHR.status==404){
                msg = 'Requested URL not found.';
            }else if(jqXHR.status==500){
                msg = 'Internal Server Error.<br/>'+jqXHR.responseText;
            }else if(e=='parsererror'){
                msg = 'Error: Parsing JSON Request failed.';
            }else if(e=='timeout'){
                msg = 'Request Time out.';
            }else {
                msg = 'Unknow Error.<br/>'+x.responseText;
            }

            console.log('error: '+jqXHR.responseText);
            console.log('Error msg: '+msg);
        }
    })

В бэкэнде PHP:

Я хочу проверить данные запроса:

echo json_encode(
  parse_str($_POST['qn_action'])
);

в консоли браузера появится ldl: – null.

если я использую

echo json_encode(
  $_POST['qiyun02_action']
);

все еще получу ldl: – null.

, если я использую

echo json_encode(
  $_POST
);

, я получу ldl: [].

Итак, как я могу получить данные из запроса jQuery ajax?

1 Ответ

1 голос
/ 30 сентября 2019

В вашем PHP-коде, вероятно, отсутствует заголовок для json.

header('Content-Type: application/json');

Поскольку вы определили JSON в своем jquery

dataType: 'json',

, поэтому сервер ожидает результат json. Как говорят в документах

Тип данных, которые вы ожидаете от сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...