这是我的代码。我遇到的问题是代码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\"]";
}
}
答案 0 :(得分:0)
由于您指定了json
,因为dataType result
已经是JavaScript对象,因此您只需将其传递给buildLogDiv
var sHtml = buildLogDiv(result);
如果出于某种原因,jQuery没有解析您的数据,请使用JSON.parse将其转换为JavaScript对象
var sHtml = buildLogDiv(JSON.parse(result));