在Windows 10 html5应用程序中读取json文件?

时间:2015-12-13 10:40:02

标签: winjs uwp

我正在开发一个带有HTML5和Javascript的Windows 10应用程序。

在代码的一部分中,我需要从位于项目文件夹中的json文件中获取数据。我试过下面,但似乎没有工作。

Template.myTemplate.events({
  'click #goToInputBox': function () {
    Session.set('goToInputBox', document.querySelector('#divOfInputBoxFromAnotherTemplate'));
    document.querySelector('#divOfInputBoxFromAnotherTemplate').focus();
  }
});

有没有人知道我该怎么办? 我需要在winjs中注册此功能吗? enter image description here

2 个答案:

答案 0 :(得分:3)

如果您使用 jquery 以正确的方式执行请求:

var jqxhr = $.getJSON( "example.json", function() {
    console.log( "success" );
}).done(function() {
    console.log( "success" );
}).fail(function() {
    console.log( "error" );
}).always(function() {
    console.log( "complete" );
});

doc在这里http://api.jquery.com/jquery.getjson/

如果您使用 WinJS .xhr

WinJS.xhr({url:"example.json"}).done(
    function completed(request) {
      console.log( "success" );
    }, 
    function error(request) {
      console.log( "error" );
    }, 
    function progress(request) {
      console.log( "progress" );
    });

doc在这里https://msdn.microsoft.com/en-us/library/windows/apps/br229787.aspx

答案 1 :(得分:2)

以下代码将帮助您阅读JSON文件

var url = new Windows.Foundation.Uri("ms-appx:///data/data.json");
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(url).then(function (file){

Windows.Storage.FileIO.readTextAsync(file).then(function (text) {
    var parsedObject = JSON.parse(text);
    // do something with object
   });
});

将此代码放在任何您想要的函数中:)快乐编码