1

这是我的代码。我遇到的问题是代码jsonVersionList[0]得到了一个字符串“[”,实际上我想解析jsonVersionList为 Json 对象,我认为原因是 JavaScript 将jsonVersionList其视为字符串而不是 Json 对象。请帮助我。谢谢。

    function ajaxGetSystemTraceLog(jsonRequest) {
            var sUrl = "/api/SysTraceLog";
            $.ajax({
                cache: false,
                type: "POST",
                async: false,
                url: sUrl,
                data: jsonRequest,
                contentType: "application/json",
                dataType: "json",
                success: function (result) {
                    var sHtml = buildLogDiv(JSON.stringify(eval(result)));
                    $("#effect").html(sHtml);
                    showCenter("#effect", false, 0, 0);
                },
                error: function (xhr) {
                    alert(xhr.responseText);
                }
            });
        }

        function buildLogDiv(jsonVersionList) {
            var sHtml = "<table style=\"width:100%;\"><tr><td style=\"width:100%;background-color:#005CE6;\"  align=\"right\"><img onclick=\"hide('#effect', false);\" alt=\"close it\" title=\"close it\" src=\"/content/themes/default/images/cancel.png\" width=\"20\" height=\"20\" /></td></tr>";
            sHtml += "<tr><td  style='text-align:left'>";
            sHtml += jsonVersionList[0];
            sHtml += "</td></tr></table>";
            return sHtml;
        }


public class SysTraceLogController : ApiController
    {
        public string Post(QueryTraceLogRequestModel queryTraceLogReq)
        {
            return "[\"1\",\"2\",\"3\",\"4\"]";
        }
    }
4

1 回答 1

0

由于您指定json为 dataTyperesult已经是一个 JavaScript 对象,因此您只需将其传递给buildLogDiv

var sHtml = buildLogDiv(result); 

如果由于某种原因 jQuery 没有解析您的数据,请使用 JSON.parse 将其转换为 JavaScript 对象

var sHtml = buildLogDiv(JSON.parse(result)); 
于 2012-11-20T03:10:22.217 回答