Ajax将字符串转换为对象并返回HTML页面中的对象?

问题描述 投票:0回答:2

目前,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");
        }
    });
};


javascript node.js ajax
2个回答
0
投票

在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


0
投票

对不起,我忘记在这里提到“承诺”

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. 您可以为呼叫者返回成功或失败消息
© www.soinside.com 2019 - 2024. All rights reserved.