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

时间:2019-04-29 15:08:34

标签: javascript node.js ajax

当前,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 :(得分: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

答案 1 :(得分: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. 您可以为呼叫者返回成功或失败消息