我正在开发一个网页,该网页使用 jQuery 插件json2html以 html 分层结构显示 json 数据。
目前 json 数据被输入到一个文本区域并按下一个按钮来运行转换。这是从文本区域获取 json 并开始转换的当前函数。
$('#btnVisualize').click(function() {
//Get the value from the input field
var json_string = $('#inputJSON').val();
try
{
//json
//var json = JSON.parse(json_string);
eval("var json=" + json_string);
visualize(json);
}
catch (e)
{
alert("Sorry error in json string, please correct and try again: " + e.message);
}
});
数据来自的 api 需要大量的身份验证,所以我有一个单独的 javascript 文件来生成身份验证并创建完整的 url 来加载 api。
function generateUrl(itemkey) {
var orig = "http://explorerapi.barratthomes.co.uk/v2.0/development/getbyitemkey?ItemKey="+itemkey+"&";
Auth.Auth = createAuth();
var var_pairs = [
{name: "Auth.Utc", val: encodeURI(Auth.Auth.Utc)},
{name: "Auth.RequestId", val: Auth.Auth.RequestId},
{name: "Auth.DeviceId", val: Auth.Auth.DeviceId},
{name: "Auth.Hash", val: Auth.Auth.Hash}];
for(var i=0; i<var_pairs.length; i++) {
orig += (i==0?"":"&")+var_pairs[i].name+"="+var_pairs[i].val;
}
var var_names = ["BrandCode", "ApplicationId", "ApplicationVersion", "LanguageCode", "IsPublished", "MarketingSuiteDevelopmentId", "UserLocation", "Os", "ScreenResolution", "Hierarchical"];
for(var j=0; j<var_names.length; j++) {
orig += "&"+var_names[j]+"="+Auth[var_names[j]];
}
return orig;
}
这是生成 url 的函数。
我需要从该函数中获取 url 并连接到 api 并将数据直接传递给 json2html 函数,因此我不再需要将 json 数据粘贴到文本区域中。
我一直在看,$.getJson
但$.parseJSON
没有运气,我不知道下一步该去哪里?