Ajax для преобразования строки в объект и возврата объекта на HTML-странице? - PullRequest
0 голосов
/ 29 апреля 2019

В настоящее время строковые данные JSON отображаются на веб-странице, но я бы предпочел, чтобы они отображались в объекте. Приведенный ниже код преобразует его в строку, но как мне преобразовать его обратно в объект и отобразить его.

function post(path, data, disp_id) {

    // convert the parameters to a JSON data string
    var json = JSON.stringify(data);

    $.ajax({
        url: path,
        type: "POST",
        data: json,
        success: function(rt) {
           console.log(rt);
            var json = JSON.parse(rt);

            $('#'+disp_id).empty();
            $.each(json, function(i,val) {
                console.log(val);

            $('#'+disp_id).append(JSON.stringify(val) + "<br/>");
            })
        },
        error: function(){
            alert("error");
        }
    });
};


Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Извините, я забыл упомянуть здесь "обещание"

function post(path, data, disp_id) {

    var dfd = $.Deferred();

     $.ajax({
        url: path,
        type: "POST",
        data: JSON.stringify(data),
        success: function(rt) {
           console.log(rt);
            var json = JSON.parse(rt);

            $('#'+disp_id).empty();
            $.each(json, function(i,val) {
                console.log(val);

            $('#'+disp_id).append(JSON.stringify(val) + "<br/>");
            })
              dfd.resolve(data);

        },
        error: function(){
            alert("error");
        }
    });

   return dfd.promise();
};


$.when(post(path, data, disp_id)).done(function(data){
     console.log(data)
})

Преимущества этого подхода: -

  1. у вас может быть общий метод для множественного запроса ajax ()
  2. вы можете вернуть сообщение об успехе или неудаче для звонящего
0 голосов
/ 29 апреля 2019

В PHP:

json_decode(String)

В JS:

JSON.parse(String)

Источники: https://www.php.net/manual/en/function.json-decode.php https://www.w3schools.com/js/js_json_parse.asp

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