1

これが私のコードです。私が遭遇した問題は、コードjsonVersionList[0]が文字列「[」を取得したことです。実際には Json オブジェクトとして解析jsonVersionListしたいのですが、その理由は JavaScript がjsonVersionListJson オブジェクトではなく文字列として扱われているためだと思います。助けてください。ありがとう。

    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

jsondataType として指定したのでresult、すでに JavaScript オブジェクトであるため、それを渡すだけです。buildLogDiv

var sHtml = buildLogDiv(result); 

何らかの理由で jQuery がデータを解析していない場合は、JSON.parse を使用してデータを JavaScript オブジェクトに変換します

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