我正在尝试使用来自ajax的json响应创建一个表。它目前构建一个表,但它显示td
中响应的每个json字符
inline fun <reified T : Any> mock() = Mockito.mock(T::class.java)
Here is the screenshot of the "table",
我需要将此转换为正确的表,只为其指定的列中的值。请帮忙。
success: function (msg) {
$.each(msg, function (i, item) {
var tds = "";
$.each(item, function (i, item) {
tds += "<td>" + item + "</td>";
});
$('#table1').append("<tr>" + tds + "</tr>");
});
}
我现在得到[object Object]语法错误
答案 0 :(得分:1)
问题是因为msg
值是一个字符串,因为jQuery没有正确解释请求的响应类型。要解决这个问题,你可以;按照偏好顺序,最好到最差:
application/json
)dataType
设置的$.ajax()
属性设置为'json'
。JSON.parse
。以上所有假设您返回的字符串的格式是有效的JSON。您可以在http://jsonlint.com
处自行测试它已经设置为application / json,请你好好地展示如何使用Json / parse。
如果是这样的话,你应该真正了解为什么它不能正常工作,因为它是迄今为止解决这个问题的最佳解决方案。也就是说,要手动设置dataType,请执行以下操作:
$.ajax({
url: 'foo.php',
dataType: 'json',
success: function(obj) {
// console.log(obj.foo);
}
});
要手动解析字符串中的JSON,您可以执行以下操作:
$.ajax({
url: 'foo.php',
success: function(msg) {
var obj = JSON.parse(msg);
// console.log(obj.foo);
}
});