2

我正在尝试使用 JavaScript 中的科尔多瓦 API 在 PERSISTENT(SD 卡)存储中创建一个文件。我能够创建文件,但无法向其中写入数据(读取时数据为空)。下面是我的 JS 代码:

$(document).ready(function() {
    document.addEventListener("deviceready", onDeviceReady, false);
});

function onDeviceReady() {
    writeTestList();
}

function writeTestList() {
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystemForWrite, function() { showMsg('Unable to access file system for write'); });
  }

function gotFileSystemForWrite(fileSystem) {
    fileSystem.root.getFile('testList.txt', {create: true, exclusive: false}, gotFileEntryForWrite, function() { showMsg('Unable to access file for write'); });
}

function gotFileEntryForWrite(fileEntry) {
   fileEntry.createWriter(gotFileWriter, function() { showMsg('Unable to create test list'); });
}

function gotFileWriter(writer) {
    writer.onwrite = function(evt) {
      // show a message
      alert('created the test lists');
      readSavedContent();
   };
   writer.onerror = function(evt) {
     alert(JSON.stringify(evt));
   };
   writer.write("raj");
   alert(writer.length);
}

控件总是进入编写器的 onerror 并在警告事件 obj 时,我看到一个类型:“错误”,错误:“JSON 错误”。我完全不明白这一点。我正在写入一个 txt 文件,但收到 json 错误。我已经在 android manifest 中添加了写权限。此外,我在 config.xml 首选项中启用了cordova 的存储插件。人们,请帮我解决这个问题..!!

4

1 回答 1

0

无法在cordova 3.0 中解决此问题。移至cordova 2.9,一切正常。

于 2013-10-03T08:14:52.860 回答