1. 問題描述
後端返回給 ajax 的數據是一個 JSON 格式的字符串,但是直接將數據放到 HTML 元素的時候,總會多一對引號
這樣想對數據進行格式化的時候,就無法執行成功
2. 解決辦法
對後端返回的值做一次字符串計算:
eval() 函數可計算某個字符串,並執行其中的的 JavaScript 代碼。
如下:
var schema = eval('(' + data + ')');
$.ajax({
type: "POST",
url: "/generateSchema",
data: JSON.stringify(params),
contentType : 'application/json',
success: function(data) {
var schema = eval('(' + data + ')');
$('#json-schema').jsonViewer(schema, {collapsed: false, withQuotes: true});
},
error: function(data) {
alert(data);
}
});